使用BigDecimal对包含小数的值进行精确计算
我们平常使用float或者double进行计算时会出现精度丢失的情况,例如:
system.out.println(0.06-0.01)
得到的结果为0.049999999999999996
为什么会出现这种情况呢?
原因在于我们的计算机是二进制的。浮点数没有办法是用二进制进行精确表示。我们的CPU表示浮点数由两个部分组成:指数和尾数,这样的表示方法一般都会失去一定的精确度,...
原创
2017-07-18 16:53:36 ·
8753 阅读 ·
0 评论