0

我正在制作一个简单的利息计算器,但我不断收到 Not a Number:

<script type="text/javascript">
function intcal() {
var pr=document.getElementById("P");
var ra=document.getElementById("r");
var ti=document.getElementById("t");
var interest=pr*ra*ti;
document.write(interest);
}
</script>
<h1> Principal </h1>
<Input type="number" id="P" name="Principal" Size="16">
<h1> Rate </h1>
<Input type="number" id="r"name="Rate" Size="16">
<h1> Time </h1>
<Input type="number" id="t" name="Time" Size="16">
<input type="button" onClick=intcal() value="Calculate">
4

1 回答 1

3

那里有几个问题。getElementById返回一个 DOM 元素。您需要获取元素的值,它是一个字符串,然后将其转换为数字(或强制转换):

var pr = +document.getElementById("P").value;
var ra = +document.getElementById("r").value;
var ti = +document.getElementById("t").value;

+将字符串转换为数字。现在你的乘法应该可以工作了。

您还忘记了对onclick事件的函数调用的引用。哦,阅读为什么document.write不好的做法

编辑:正如Bergi所说,乘法也会转换一个数字,但无论如何,因为你有变量,你可能想要分配给它们的数字。

于 2013-06-02T22:24:58.777 回答