【问题标题】:Javascript floating issue with addition [duplicate]添加的Javascript浮动问题[重复]
【发布时间】:2020-03-08 04:04:58
【问题描述】:

我的以下值给出了错误的总数。

let a = 86.2500;
let b = 32.3550;
alert(a+b);  //return 118.60499999999999  , expected 118.605
alert((a+b).toFixed(2))  //return 118.60   , expected 118.61

当我用计算器计算上述值时,它给出了我的预期结果,但 javascript 给了我意想不到的结果。获得预期结果的原因和解决方案是什么?

https://jsfiddle.net/vnu9fyb8/1/

【问题讨论】:

标签: javascript jquery


【解决方案1】:

试试这个得到结果:

let a = 86.2500;
let b = 32.3550;
alert((a+b).toFixed(3));
var digit = parseFloat((a+b).toFixed(3)).toFixed(2);
alert(digit);

我希望它对你有用。

【讨论】:

    【解决方案2】:

    toFixed(2) 无法使其变为 118.61,因为完整结果是 118.60499999999999 所以 0 前面的“6049”是数字4. 4 不能下限为5,但如果0前面是数字5肯定会降到 118.61。

    所以这不能变成 118.61。 可以参考这个link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-25
      • 1970-01-01
      • 1970-01-01
      • 2012-05-15
      • 2021-08-09
      • 1970-01-01
      • 2014-07-27
      相关资源
      最近更新 更多