可能的重复:
JavaScript 的数学有问题吗?
为什么 JS 搞砸了这个简单的数学?
console.log(.1 + .2) // 0.3000000000000004
console.log(.3 + .6) // 0.8999999999999999
第一个示例大于正确结果,而第二个示例小于正确结果。???你如何解决这个问题?在执行运算之前,您是否必须始终将小数转换为整数?我是否只需要担心添加 (* 和 / 在我的测试中似乎没有相同的问题)?
我已经在很多地方寻找答案。一些教程(如购物车表单)假装问题不存在,只是将值加在一起。Gurus 为各种数学函数提供了复杂的例程,或者顺便提到 JS“做得不好”,但我还没有看到解释。