我是 JS 新手,我无法理解这个东西。当我在第一个字段中输入任何数字时,下一个字段中不会出现任何内容,但代码必须正常工作。这段代码有什么错误?
<html>
<head>
<title> Number methods </title>
</head>
<body>
<table border="2px" width="500px" height="400px" align="center">
<tr>
<td align="center" colspan="2">
<p> Enter a number </p>
</td>
<td align="center" colspan="2">
<input type="text" id="number">
</td>
</tr>
<tr>
<td align="center" colspan="2"> Result </td>
<td align="center" colspan="2"> <input type="text" id="result"> </td>
</tr>
<tr>
<td align="center"> <input type="button" onClick="string();" value="String"> </td>
<td align="center"> <input type="button" onClick="precision();" value="Precision"> </td>
<td align="center"> <input type="button" onClick="expo();" value="Exponential"> </td>
<td align="center"> <input type="button" onClick="fixed();" value="Fixed"> </td>
</tr>
</tr>
</table>
<script>
function fixed()
{
var num = document.getElementById("number").value;
var res = document.getElementById("result");
res.value = num.toFixed(2);
}
最佳答案
字符串的原型(prototype)中没有名为 .toFixed
的函数,
res.value = parseFloat(num).toFixed(2);
您必须将其转换为数字,以便可以访问其函数.toFixed()
。由于您关心小数点,我建议您使用 parseFloat 将该字符串转换为数字。
同样,您也可以使用 parseInt(str)
、Number(str)
、+str
来转换字符串 str
为数字。
关于javascript - JS 数字方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36266137/