第2轮小数浮点数jquery

时间:2016-03-24 03:38:59

标签: jquery

我试图将一个浮点数舍入到2位小数。

我已经解决了

a = 0.83;
b = 44.5;
c = a * b

(计算器上的结果是" 36.935"。源代码的结果是" 36.934999999999995");

我需要四舍五入,所以我最终得到以下内容:

36.94

当我使用以下方法时:

Math.round(c * 100) / 100;

结果是:

36.93

任何人都可以帮我解决这个问题吗?

2 个答案:

答案 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);
}

感谢Miguel在https://stackoverflow.com/a/14839776/5118223

中的回答