javascript - 185.3 + 12.37 = 197.67000000000002?

标签 javascript math addition

<分区>

这个页面有一个简单的警告:

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/

相关文章:

javascript - 按名称快速检查 Div 元素

php - Magento - 通过查询字符串将产品添加到购物车

arrays - 简单的数学函数 Swift

json - jq:添加嵌套数字?

javascript - 带有 Angular 指令的 TreeView

javascript - 将状态更改从 onChange 事件传递给父级

math - 平顶六边形六边形网格坐标到像素坐标

java - 在 Java 中的 OSM map 上将 point1 移动到 point2 的方向

javascript - jQuery "add"仅在调用 "appendTo"时评估

python - 在 Python 中对两个列表进行相减和相加而不改变它们的顺序