我不明白为什么我需要修复这个错误。在下面的 fiddle 上,您将看到一张发票表格。如果您在发票元素上输入价格,例如 12.55,您将看到它在右下角计算所有内容。现在,如果您输入存款值(value) 1.25,它会将总数四舍五入为 .00,不包括便士。
有人有什么想法吗?我写的存款代码是:
$(document).on('input', '.calculate.deposit', function () {
// calculate deposit
var calcDeposit = parseInt($('#invoice_total').val()) - parseInt($('#invoice_deposit').val());
$('.invoice-total').text((calcDeposit).toFixed(2));
$('#invoice_total').val((calcDeposit).toFixed(2));
});
当您使用带便士的运费时,它似乎运作良好,只是押金四舍五入。所有 JS 都添加到 fiddle 中。
JSFiddle:http://jsfiddle.net/qmtgbwqv/
最佳答案
将 parseInt()
更改为 parseFloat()
。
您的代码:
$(document).on('input', '.calculate.deposit', function () {
// calculate deposit
var calcDeposit = parseInt($('#invoice_total').val()) - parseInt($('#invoice_deposit').val());
$('.invoice-total').text((calcDeposit).toFixed(2));
$('#invoice_total').val((calcDeposit).toFixed(2));
});
成为
$(document).on('input', '.calculate.deposit', function () {
// calculate deposit
var calcDeposit = parseFloat($('#invoice_total').val()) - parseFloat($('#invoice_deposit').val());
$('.invoice-total').text((calcDeposit).toFixed(2));
$('#invoice_total').val((calcDeposit).toFixed(2));
});
关于javascript - 发票计算工具是存款字段总数的舍入数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31189042/