0

我正在使用 dojo.currency 格式。它的循环方式似乎不稳定,我试图找出我是否做错了什么:

dojo.currency.format("66.315",{currency:"USD"})
"$66.31"
dojo.currency.format("669.315",{currency:"USD"})
"$669.32"

在上面的示例中,两个价格都将四舍五入为 32 美分,但由于某种原因,我最终得到了 2 个不同的金额。

4

1 回答 1

0

看起来 dojo.currency 在幕后使用了 dojo.number.round,而 dojo.number.round 使用了 javascript toFixed。众所周知,它存在浮点问题。

改用 Math.round(number*Math.pow(10,places))/Math.pow(10,places)

于 2013-09-05T17:13:14.870 回答