这个函数是用动态表计算借方数的总和,问题是,它计算2.6 + 2.1 = 4.00
,我希望答案是4.70
,但它没有指望两位小数
function debitvalues() {
var debittotal = 0;
var obj = document.getElementsByTagName("input");
for (var i = 0; i < obj.length; i++) {
if (obj[i].name == "debit[]") {
if (obj[i].value > 0) {
debittotal += parseInt(obj[i].value * 1);
} else {
obj[i].value = 0;
debittotal += parseInt(obj[i].value * 1);
}
}
}
document.getElementById("debittotal").value = (debittotal * 1).toFixed(2);
debittotal = 0;
}
答案 0 :(得分:5)
您需要解析为int
时解析为float
:
parseInt(obj[i].value*1)
parseInt
=&gt; parseFloat
parseInt
为您提供自然数字 N ,而parseFloat
为您提供实数 - R 。
parseInt(obj[i].value*1) => parseFloat(obj[i].value)