Javascript划分

时间:2014-04-08 00:31:13

标签: javascript operations

在我的控制台浏览器中,我把:

  

666.66 / 10

我得到了:

  

66.666

(正如所料)。但是当我把:

  

6666.66 / 10

我明白了:

  

666.6659999999999

有人可以解释一下为什么会这样吗?它不应该是:666.666?

1 个答案:

答案 0 :(得分:2)

计算机不会像我们想象的那样在基数10中存储数字 - 它位于基数2中,所以像您发现的那样奇怪是常见的。

另一个是0.1 + 0.2,直觉上等于0.30000000000000004

如果您想安全地划分数字,请先将它们转换为整数,或使用像BigDecimal这样的库