一个关于js的加法问题:0.7+0.1=?

今天在写 JS 的时候无意中发现一个很有意思的问题:

>>> 0.7 + 0.1
0.7999999999999999

这个让我很诧异。另外我在 Python 和 Ruby 中试了一下,结果都是这个。

但是他们在计算

>>> 0.6 + 0.1
0.7

是正确的。 (当然以上只是部分例子。)

不知道各位有谁知道其中的原因。应该跟这些脚本语言处理浮点数的精度有关。现在先把问题贴出来,等明白了再来补充。


非常感谢各位的回答,迟了两天来解决这个问题,实在很抱歉。如同@比尔盖子所说的那样,我的确缺乏相关的浮点知识,于是这两天去看了一些相关的资料。回忆起了以前学习的知识。

再次感谢各位的回答。

阅读 10.9k
3 个回答

还有一个

irb(main):009:0> 0.1 + 0.2
=> 0.30000000000000004
推荐问题
宣传栏