Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
函数获取JavaScript中的百分比并返回十进制值_Javascript - Fatal编程技术网

函数获取JavaScript中的百分比并返回十进制值

函数获取JavaScript中的百分比并返回十进制值,javascript,Javascript,我有这个JavaScript函数(见下文)。它只返回整数,它只在我输入整数时工作。但当我输入十进制值时,它不起作用 我应该如何处理十进制值 function calc() { var license=parseInt(document.getElementById("license").value); var service=parseInt(document.getElementById("service").value); var amount=parseInt(license)+parse

我有这个JavaScript函数(见下文)。它只返回整数,它只在我输入整数时工作。但当我输入十进制值时,它不起作用

我应该如何处理十进制值

function calc()
{
var license=parseInt(document.getElementById("license").value);
var service=parseInt(document.getElementById("service").value);
var amount=parseInt(license)+parseInt(service);

var mult=service*(parseInt(document.getElementById("preterms").value) / 100);
var mult1=service*(parseInt(document.getElementById("blueterms").value) / 100);
var mult2=service*(parseInt(document.getElementById("configterms").value) / 100);

document.getElementById("amount").value = amount;
document.getElementById("pre").value = mult;
document.getElementById("blue").value = mult1;
document.getElementById("config").value = mult2;

}

提前感谢。

parseInt
更改为,如


由于您使用的是十进制值,因此需要使用

例:


看起来人们建议使用
parseFloat
。您可能遇到的下一个问题是格式化输出。您可以使用
toFixed
以固定小数位数输出百分比:

(12.34567).toFixed(2)
// => "12.35"

您正在将所有值都设置为整数…解释不起作用???
var license=parseFloat(document.getElementById("license").value);
function calc() {
    var license = parseFloat(document.getElementById("license").value);
    var service = parseFloat(document.getElementById("service").value);
    var amount = parseFloat(license) + parseFloat(service);

    var mult = service * (parseFloat(document.getElementById("preterms").value) / 100);
    var mult1 = service * (parseFloat(document.getElementById("blueterms").value) / 100);
    var mult2 = service * (parseFloat(document.getElementById("configterms").value) / 100);

    document.getElementById("amount").value = amount;
    document.getElementById("pre").value = mult;
    document.getElementById("blue").value = mult1;
    document.getElementById("config").value = mult2;

}
(12.34567).toFixed(2)
// => "12.35"