添加Javascript浮动问题

添加Javascript浮动问题,javascript,jquery,Javascript,Jquery,我有以下给出错误总数的值 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给出了我意想不到的结果。为什么以及什么是获得预期结果的解决方案 toFixed(2)无法使

我有以下给出错误总数的值

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给出了我意想不到的结果。为什么以及什么是获得预期结果的解决方案

toFixed(2)无法使其变为118.61,因为完整结果为118.60499999999,因此0前面的“6049”是数字4。4不能加成5,但如果0前面是5,它肯定会加成118.61

所以这不可能变成118.61。
您可以参考此

尝试此操作以获得结果:

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

我希望它对你有用。

@Sadikhasan这个答案可能会对你有所帮助@AnantSingh--AlivetoDie如果你有计算器,请计算你得到的,然后告诉我。你得到我期望的结果了吗?如果我错了,请纠正我以获得预期结果。请看,这是哪一个重复。有关详细信息,请参见。其中一个数字不能精确表示为二进制值。在base 10中,您在
1/3
中遇到了相同的问题。