eg:
System.out.println(10.00 - 9.93)
我们很期望它的结果是:0.07 但是它的值却是:0.07000000000000028 这是为什么呢?
浮点间的运算有可能是不正确的。这是有计算机的存储规则所决定的。
这种情况可以有两种解决方案:
- 使用BigDecimal .本身提供了常用的加减乘除的运算。专门为弥补计算浮点的。
- 使用整形。先将参与运算的值扩大100 倍。并转为整形。然后在缩小100倍。
eg:
System.out.println(10.00 - 9.93)
我们很期望它的结果是:0.07 但是它的值却是:0.07000000000000028 这是为什么呢?
浮点间的运算有可能是不正确的。这是有计算机的存储规则所决定的。
这种情况可以有两种解决方案: