分区在Javascript中不准确?

Division inaccurate in Javascript?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Elegant workaround for JavaScript floating point number problem

如果我在javascript中执行以下操作:

1
0.06120*400

结果是24.48。

但是,如果我这样做:

1
24.48/400

结果是:

1
0.061200000000000004

jsfiddle:http://jsfiddle.net/zcdh7/

所以在进行除法和乘法的时候,javascript的舍入方式似乎不同?

使用我的计算器,操作24.48/400得到正确的0.0612答案。

我应该如何处理javascript不准确的划分?我不能简单地把数字四舍五入,因为我要处理的是精度不同的数字。

谢谢你的建议。


您只需使用以下命令即可获得正确的结果:

1
2
var a = 24.48/400;
console.log(a.toFixed(6));

因为typeof a.toFixed(6) === 'string'你可以:

1
2
var a = 24.48/400;
console.log(parseFloat(a.toFixed(6)));

  • toFixed的参数是您想要的小数位数。