使用BigDecimal乘法计算两个数字会返回错误的值。

19 浏览
0 Comments

使用BigDecimal乘法计算两个数字会返回错误的值。

执行以下代码:

new BigDecimal(0.06 * 3).toString()

返回的结果是0.179999999999999993338661852249060757458209991455078125,而不是0.18

执行

new BigDecimal(0.06).multiply(new BigDecimal(3)).toString() 

返回相同的结果。

这是怎么可能的?

0