1.二进制浮点不能将0.1或者10的负幂次方精确表示,可以用BigDecimal来表示,避免使用float和double。
result :0.8999999999999999
2.
result:5
乘在一起的因子都是int。故结果也是int。越界问题。
操作大数据,需提放。
System.out.println(2.00-1.10);result :0.8999999999999999
2.
final long first = 24*60*60*1000*1000;
final long second = 24*60*60*1000;
System.out.println(first/second);result:5
乘在一起的因子都是int。故结果也是int。越界问题。
操作大数据,需提放。
本文探讨了二进制浮点数无法精确表示0.1或10的负幂次方的问题,并提供了使用BigDecimal替代float和double的方法以提高数值运算的准确性。此外,还展示了大数据运算中可能出现的整数溢出问题。
646

被折叠的 条评论
为什么被折叠?



