我目前在学习javascript。我创建了一个计算器来查找投资未来的价值。当它显示future value
时,它给我一个不正确的值。我已经检查了几次,但它仍然给我一个错误。此外,如果利息小于0
或大于20
,但我没有显示任何信息,则设置了警报。如何在必要时能够正确显示正确的未来价值和警报? Example用javascript计算投资值
的Javascript
var $ = function (id) {
return document.getElementById(id);
}
var calculate_click = function() {
var investment = parseFloat($("investment").value);
var annualRate = parseFloat($("rate").value) /100;
var years = parseInt($("years").value);
$("futureValue").value = "";
if (isNaN(investment) || investment <= 0) {
alert("Investment must be a valid number\nand greater than zero.");
} else if(isNaN(annualRate) || annualRate <= 0 || annualRate > 20) {
alert("Annual rate must be a valid number\nand less than or equal to 20.");
} else if(isNaN(years) || years <= 0 || years > 50) {
alert("Years must be a valid number\nand less than or equal to 50.");
} else {
//var monthlyRate = annualRate/12;
//var months = years * 12;
var futureValue = 0;
for (i = 1; i <= years; i++) {
futureValue = (futureValue + investment) *
(1 + annualRate);
}
$("futureValue").value = futureValue.toFixed(2);
}
}
var clear_click = function() {
$("investment").value = "";
$("rate").value = "";
$("years").value = "";
$("futureValue").value = "";
}
window.onload = function() {
$("calculate").onclick = calculate_click;
$("investment").focus();
$("clear").onclick = clear_click;
}
您可以给出示例输入和预期输出以及您正在获得的输出吗? – Jon 2013-04-04 21:15:01
在附注中,我认为你没有检查'annualRate'的正确值,因为你所做的第一件事是除以'100',所以你应该检查'> .2' – Jon 2013-04-04 21:22:21