【问题标题】:parseFloat acts weird when adding decimal numbers添加十进制数时,parseFloat 的行为很奇怪
【发布时间】:2016-05-18 19:10:00
【问题描述】:

在 chrome 控制台中添加 parseFloat(33.3) + 37.4 会得到 70.699999999

谁能解释一下为什么会发生这种情况以及如何克服这个问题。

【问题讨论】:

  • 它与parseFloat 无关——只是计算机如何处理浮点数!通过添加0.1 + 0.2 自己尝试一下。
  • 那么如何克服这个问题。如何将其四舍五入到正确的数字

标签: javascript parsefloat


【解决方案1】:

一个快速的解决方案是四舍五入到指定的小数位数:

(33.3 + 37.4).toFixed(3); // would result in 70.700

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-14
    • 1970-01-01
    相关资源
    最近更新 更多