我有一个将总值插入文本框的代码,但是,执行的数学运算不会对数字取整。根据下面的代码,我如何做到这一点?
function calculate(){
var mrc = document.getElementById('box1');
var days = document.getElementById('box2');
var total = document.getElementById('box3');
var reason = document.getElementById('box4');
var approver = document.getElementById('box5');
var approvalreason = document.getElementById('box6');
var custname = document.getElementById('box7');
var caseid = document.getElementById('box8');
var intermitent = document.getElementById('rb1');
var outage = document.getElementById('rb2');
if (outage.checked === true) {
if (days.value * 5 > mrc.value){
total.value = (mrc.value / 30) * days.value;
} else if (days.value > 14) {
total.value = (mrc.value / 30) * days.value;
} else {
total.value = days.value * 5;
}
} else if (intermitent.checked === true){
if (days.value * 3 > mrc.value)
{
total.value = (mrc.value / 30) * days.value;
} else if (days.value > 14) {
total.value = (mrc.value / 30) * days.value;
} else {
total.value = days.value * 3;
}
}
}
最佳答案
两件事情:
通过使用隐式类型转换,您正在玩火。 element.value
返回一个string
,而不是number
,因此您应该使用parseInt()
或parseFloat()
将值转换为数字。例如,如果您输入的值为3,并且您执行element.value + 2
,则结果为32
。
其次,对于您的问题,Math.ceil()
将浮点数四舍五入为整数。
关于javascript - 如何在javascript中将值取整?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30251439/