185.3 + 12.37 = 197.67000000000002?

DA.*_*DA. 2 javascript math addition

可能重复:
了解浮点问题

此页面有一个简单的警报:

alert(185.3 + 12.37);
Run Code Online (Sandbox Code Playgroud)

对我而言,这应该等于197.67

但是,在我测试的浏览器中(OSX上的Chrome/Safari,Win7上的FF),答案是:

197.67000000000002

这是为什么?这只是一个已知的错误还是除了我意识到还有更多的JavaScript添加?

Fem*_*ref 8

javascript使用double数据类型,由于受限制的二进制位置,它不能准确表达所有十进制数字(并非所有数字都可以用有限的二进制位表示).您可以在维基百科阅读更多内容.