在Javascript中,toFixed()是否足够准确?

我正在创建一个用于计算订单总额的脚本.某些变量可能会改变价格,因此会出现一些长位小数.

toFixed()是否足够精确以舍入这些数字并始终得到相同的结果?

编辑:
我想出的解决方案就是使用它:

Number.prototype.toCurrency = function(){
    return Math.round(this*100)/100;
}

这是否足以保持一致性?

最佳答案 您不应该使用toFixed,因为它在浏览器中不能一致地工作.

Javascript中的所有数字都是双精度浮点数.根据定义,浮点数不精确,因此数字表示本身不够精确,无法始终获得精确结果.

如果你想在Javascript中获得可预测的结果,你必须记住数字的精度限制,这样你总是有足够的余量才能正确地舍入数字.

点赞