Dojo.Currency中的货币舍入不一致



im使用dojo.currency格式。它的运行方式似乎不稳定,我试图找出自己是否做错了什么:

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

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

看起来dojo.currency在幕后使用dojo.number.round,而dojo.nnumber.round使用javascript toFixed。其已知具有浮点问题。

使用Math.round(数字*Math.pow(10,places))/Math.pow(10.places)代替

最新更新