我试图将一个浮点数舍入到2位小数。
我已经解决了
a = 0.83;
b = 44.5;
c = a * b
(计算器上的结果是" 36.935"。源代码的结果是" 36.934999999999995");
我需要四舍五入,所以我最终得到以下内容:
36.94
当我使用以下方法时:
Math.round(c * 100) / 100;
结果是:
36.93
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
如果您正在执行Math.round
36.934999999999995
,那么它始终是36.93
。
我认为这就是你要找的东西:
var a = 0.83;
var b = 44.5;
var c = a*b;
console.log(Math.round(c.toFixed(3) * 100) / 100);
答案 1 :(得分:0)
我找到了问题的答案
function precise_round(num, decimals) {
var t=Math.pow(10, decimals);
return (Math.round((num * t) + (decimals>0?1:0)*(Math.sign(num) * (10 / Math.pow(100, decimals)))) / t).toFixed(decimals);
}
中的回答