toFixed不是一个函数

时间:2018-06-18 22:42:01

标签: javascript

尝试在calc上显示数字,但它表示它不是一个函数。我之前使用过Number(variable.toFixed(x)),但这次它似乎不能在document.getlementbyid中工作。有帮助吗?

    if (vi === 0){
    document.getElementById('result').innerHTML = 
Number(reactant.toFixed(13));
} else if (vi >= 1 && tx === 0) {
    document.getElementById('result').innerHTML = 
Number(reactant2.toFixed(13));
} else if (vi >= 1 && tx > 0) {
    document.getElementById('result').innerHTML = 
Number(reactantspec.toFixed(13));
}

3 个答案:

答案 0 :(得分:3)

我不确定reactant来自何处,但很可能,它是字符串值而不是数字。

"11.12123".toFixed(2); <-- toFixed is not a function error (becuase "11.12" is a string)

11.12123.toFixed(2); <-- Success!

在运行toFixed逻辑之前,您可能需要将字符串转换为数字:

Number("11.123").toFixed(2)

答案 1 :(得分:2)

看看下面的例子。 希望它有所帮助。

<!DOCTYPE html>
<html>
<body>

<p>Click the button to display the fixed number.</p>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
    var reactant = '5.5678935436453256434';
    var n = Number(reactant).toFixed(13);
    document.getElementById("demo").innerHTML = n;
}
</script>

</body>
</html>

答案 2 :(得分:0)

元素id的返回值,即document.getElementById('result').innerHTML是一个String,您应该使用parseInt()将其转换为整数