我有一个简单的代码来根据数量和单价计算总价。所以我定义了一个文本框,最初使用以下内容对其进行格式化:
$('.Num').autoNumeric({ aSep: ',', vMin: '0.00', vMax: '9999999999999999.99', wEmpty: 'zero' });
所以我的金额文本框将显示千位分隔符的金额。然后,如果我编辑数量,我想重新计算金额。代码如下:
var amount = parseFloat($('#' + idQty)[0].value.replace(/\,/g, '') * $('#' + idPrice)[0].innerHTML.replace(/\,/g, ''));
amount = RoundNumber(amount, 2);
$('#' + idAmt).autoNumeric('init', { aSep: ',', vMin: '0.00', vMax: '9999999999999999.99', wEmpty: 'zero' });
$('#' + idAmt).autoNumeric('set', parseFloat(amount).toFixed(2));
但该值未设为amount
。我在这里做错了什么?
[编辑]:我正在使用autoNumeric插件,可以找到here。
答案 0 :(得分:0)
我最后通过用以下内容替换上面的最后三行来解决这个问题:
amount = parseFloat(RoundNumber(amount, 2)).toFixed(2);
$('#' + idAmt).val(numberWithCommas(amount));
至于numberWithCommas
是用逗号分隔符格式化数字
function numberWithCommas(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}