数值计算,特别是金额的计算,在金融项目中非常常见,平常我们可能会注意,对于除数的操作,可能会留意是否能够整除,是否需要保留几位小数,但是对于常见的加、减、乘我们是否也要注意小数的问题呢?
先看下面的例子:
System.out.println("0.1 + 0.2 = " + (0.1 + 0.2));
System.out.println("1 - 0.8 = " + (1 - 0.8));
System.out.println("1.015 * 100 = " + (1.015 * 100));
System.out.println("123.3 / 100 = " + (123.3 / 100));
执行结果:
0.1 + 0.2 = 0.30000000000000004
1 - 0.8 = 0.19999 |
避坑-数值计算精度
本文探讨了在编程中遇到的数值计算精度问题,主要关注Java环境下的浮点数运算误差。通过深入理解浮点数存储原理,揭示了精度丢失的原因,并提供了避免精度损失的策略,包括使用特定的数据类型、取舍算法以及前后端交互时的处理方法。
摘要由CSDN通过智能技术生成