【发布时间】:2020-01-07 21:24:15
【问题描述】:
无论我尝试什么,我都无法让函数正常运行
我试过检查输入是数字,只有输出给我 NaN。我尝试将 parseInt 放在输入周围,但输入似乎可以正常工作。这可能是一个小的新手错误,无论如何感谢您的时间!
const principle=parseInt(document.getElementsByClassName('principle').value);
const rate = parseInt(document.getElementsByClassName('.rate').value);
const payments = parseInt(document.getElementsByClassName('payments').value);
let interest;
function calculate() {
console.log(typeof(principle));
console.log(typeof(rate));
console.log(typeof(payments));
interest = (rate / payments) * principle;
console.log(interest);
};
<body>
<h1>interest calculator</h1>
<div class="container">
<div class="row">
<div class="col-4-md">
initial amount <input type="number" name="" value="" class="principle px-3">
</div>
<div class="col-4-md">
interest rate <input type="number" name="" value="" class="rate px-3">
</div>
<div class="col-4-md">
Number of payments <input type="number" name="" value="" class="payments px-3">
</div>
<button type="submit" name="button" onclick="calculate()">Submit</button>
</div>
</div>
i just want the output to be a number
【问题讨论】:
-
您的
parseInt调用仅在页面加载时发生一次,即输入没有值时,以及parseInt("") == NaN。将您的parseInt调用移至function calculate()内部。 -
你还需要注意被零除。
标签: javascript function calculator nan