<分区>
这个页面有一个简单的警告:
alert(185.3 + 12.37);
对我来说,那应该等于 197.67
但是,在我测试过的浏览器(OSX 上的 Chrome/Safari,Win7 上的 FF)中,答案是:
197.67000000000002
这是为什么呢?这只是一个已知的错误,还是 JavaScript 添加的内容比我意识到的要多?
<分区>
这个页面有一个简单的警告:
alert(185.3 + 12.37);
对我来说,那应该等于 197.67
但是,在我测试过的浏览器(OSX 上的 Chrome/Safari,Win7 上的 FF)中,答案是:
197.67000000000002
这是为什么呢?这只是一个已知的错误,还是 JavaScript 添加的内容比我意识到的要多?
最佳答案
javascript 使用double
数据类型,由于二进制位的限制,它不能准确地表示所有十进制数字(并非所有数字都可以用有限的二进制位表示)。您可以在 wikipedia 阅读更多内容.
关于javascript - 185.3 + 12.37 = 197.67000000000002?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5615945/