float 和 double 只能进行较为精确的快速近似的计算, 并不能提供完全精确的结果。
尤其不能进行 货币 计算,因为它们不能精确地表示0.1 或者 10 的任何其他负次方。
精确计算使用 BigDecimal 、 int 和long