开发者问题收集

toFixed 不是一个函数

2018-06-18
294

尝试在计算器上显示数字,但它说这不是一个函数。我以前使用过 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个回答

我不确定 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)
mwilson
2018-06-18

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

<!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>
sns
2018-06-18

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

Eazy
2018-06-18