我有一个将总值插入文本框的代码,但是,执行的数学运算不会对数字取整。根据下面的代码,我如何做到这一点?

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/

10-11 12:49