这是我正在使用的当前代码:
f[0].update(parseFloat($('tier').getValue().replace('$','').replace(',',''))*parseFloat(text.replace('$','').replace(',','')));
我遇到的问题是价格显示没有$
正确的货币。例如,应显示为的内容$29.50
显示为29.5
或应显示为的内容$5.00
显示为5
。
这是我正在使用的当前代码:
f[0].update(parseFloat($('tier').getValue().replace('$','').replace(',',''))*parseFloat(text.replace('$','').replace(',','')));
我遇到的问题是价格显示没有$
正确的货币。例如,应显示为的内容$29.50
显示为29.5
或应显示为的内容$5.00
显示为5
。
看看accounting.jstoFixed()
中的方法。这将解决您的舍入错误并正确格式化资金
toFixed() - better rounding for floating point numbers
/**
* Implementation of toFixed() that treats floats more like decimals
*
* Fixes binary rounding issues (eg. (0.615).toFixed(2) === "0.61") that present
* problems for accounting- and finance-related software.
*/
var toFixed = lib.toFixed = function(value, precision) {
precision = checkPrecision(precision, lib.settings.number.precision);
var power = Math.pow(10, precision);
// Multiply up by precision, round accurately, then divide and use native toFixed():
return (Math.round(lib.unformat(value) * power) / power).toFixed(precision);
};