Javascript 如何计算两位小数点误差的总和
这个函数是通过动态表计算借方数字的总和,问题是,它计算了Javascript 如何计算两位小数点误差的总和,javascript,calculator,calculated-columns,Javascript,Calculator,Calculated Columns,这个函数是通过动态表计算借方数字的总和,问题是,它计算了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[]") {
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;
}
函数debitvalues(){
var debittotal=0;
var obj=document.getElementsByTagName(“输入”);
对于(变量i=0;i0){
debittotal+=parseInt(obj[i].值*1);
}否则{
obj[i].值=0;
debittotal+=parseInt(obj[i].值*1);
}
}
}
document.getElementById(“debittotal”).value=(debittotal*1.toFixed(2);
debittotal=0;
}
您解析为int
,而您需要解析为float
:
parseInt(obj[i].value*1)
parseInt
=>parseFloat
parseInt
给你一个自然数-N,而parseFloat
给你一个实数-R
顺便说一句,当你把一个数字-x乘以一,你得到的是相同的x数字,所以我认为你的计算器可以跳过它
parseInt(obj[i].value*1) => parseFloat(obj[i].value)
您需要解析为
int
,而您需要解析为float
:
parseInt(obj[i].value*1)
parseInt
=>parseFloat
parseInt
给你一个自然数-N,而parseFloat
给你一个实数-R
顺便说一句,当你把一个数字-x乘以一,你得到的是相同的x数字,所以我认为你的计算器可以跳过它
parseInt(obj[i].value*1) => parseFloat(obj[i].value)