Javascript 以十进制显示2个数字的总和
我试图显示2个总数的2个小数点并减去它们,但它没有计算小数点。任何人都想弄明白这一点。谢谢Javascript 以十进制显示2个数字的总和,javascript,html,Javascript,Html,我试图显示2个总数的2个小数点并减去它们,但它没有计算小数点。任何人都想弄明白这一点。谢谢 function calculate() { var myBox1 = document.getElementById('box1').value; var myBox2 = document.getElementById('box2').value; var basicpay = document.getElementById('basicpay'); var myRe
function calculate() {
var myBox1 = document.getElementById('box1').value;
var myBox2 = document.getElementById('box2').value;
var basicpay = document.getElementById('basicpay');
var myResult = myBox1 * myBox2;
basicpay.value = myResult.toFixed(2);
document.getElementById('both').value = sum() - diff();
}
这是差异部分
function diff() {
var absent = document.getElementById('absent').value;
var tardiness = document.getElementById('tardiness').value;
var sss = document.getElementById('sss').value;
var pagibig = document.getElementById('pagibig').value;
var philhealth = document.getElementById('philhealth').value;
var cashadvances = document.getElementById('cashadvances').value;
var withholdingtax = document.getElementById('withholdingtax').value;
var others = document.getElementById('others').value;
var result =
parseInt(absent) +
parseInt(tardiness) +
parseInt(sss) +
parseInt(pagibig) +
parseInt(philhealth) +
parseInt(cashadvances) +
parseInt(withholdingtax) +
parseInt(others) || 0;
if (!isNaN(result)) {
document.getElementById('totaldeductions').value = result.toFixed(2);
return result;
}
}
这是总结部分
function sum() {
var basicpay = document.getElementById('basicpay').value;
var overtime = document.getElementById('overtime').value;
var regularholiday = document.getElementById('regularholiday').value;
var specialholiday = document.getElementById('specialholiday').value;
var allowanceday = document.getElementById('allowanceday').value;
var monthpay = document.getElementById('monthpay').value;
var others1 = document.getElementById('others1').value;
var result =
parseInt(basicpay) +
parseInt(overtime) +
parseInt(regularholiday) +
parseInt(specialholiday) +
parseInt(allowanceday) +
parseInt(monthpay) +
parseInt(others1) || 0;
if (!isNaN(result)) {
document.getElementById('totalgrosspay').value = result.toFixed(2);
return result;
}
}
在Sum()和Diff()函数中,只处理整数。整数仅为整数,因此在小数点后不会保留任何内容。要处理小数,需要使用JavaScript的parseFloat()函数。举个例子,在Sum()函数中,将结果计算更改为如下所示:
var result =
parseFloat(basicpay) +
parseFloat(overtime) +
parseFloat(regularholiday) +
parseFloat(specialholiday) +
parseFloat(allowanceday) +
parseFloat(monthpay) +
parseFloat(others1) || 0;
这将保留数字中的小数点,而不是在parseInt()添加标记时截断为整数。什么是
sum()&diff()
。什么是sum()
和diff()
?显示了什么错误的值?“我试图显示2个总数的2个小数点并减去它们,但它没有计算小数点”听起来你需要先花一些时间来确保你的代码计算出小数点,然后?当这不起作用,并且您有您认为应该的代码时,是时候在这里提问了?