此问题已经在这里有了答案:
我具有以下给出总计错误的值。
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给了我意外的结果。为什么以及获得预期结果的解决方案是什么?
尝试获得结果:
let a = 86.2500;
let b = 32.3550;
alert((a+b).toFixed(3));
var digit = parseFloat((a+b).toFixed(3)).toFixed(2);
alert(digit);
我希望它对您有用。
toFixed(2)不能使其变为118.61,因为完整结果为118.60499999999999,因此0前面的“ 6049”是数字4。4不能设置为5,但是如果0前面的数字为5,则确定将设置为118.61。
所以这不能成为118.61。您可以参考此link