在我的脚本中,我使用了for循环来计算一定金额的利息。我将循环设置为20次。现在,我尝试使用while循环来计算金额,直到余额翻倍。
var btn = document.getElementById('btn');
var startBalance = document.getElementById('input1');
var percentage = document.getElementById('input2');
var output = document.getElementById('result');
btn.onclick = showBalance;
function showBalance() {
var factor = 1 + percentage.value / 100;
var newBalance = +startBalance.value * factor;
var result = "";
for (var i = 0; i <= 10; i++) {
result += "Year " + i + ": €";
result += newBalance.toFixed(2) + "<br>";
newBalance *= factor;
}
output.innerHTML = result;
}
在这种情况下,如何使用while循环?谢谢。
答案 0 :(得分:2)
尝试一下
var btn = document.getElementById('btn');
var startBalance = document.getElementById('input1');
var percentage = document.getElementById('input2');
var output = document.getElementById('result');
btn.onclick = showBalance;
function showBalance() {
var factor = 1 + percentage.value / 100;
var startingBalance = startBalance.value;
var newBalance =+ startingBalance * factor;
var result = "";
var i = 0;
while (newBalance <= startingBalance*2) {
result += "Year " + i + ": €";
result += newBalance.toFixed(2) + "<br>";
newBalance *= factor;
i++;
}
output.innerHTML = result;
}
答案 1 :(得分:0)
您可以使用公式 factor years = 2 计算所需的年份,并通过while循环获取最终值。
var amount = 100,
factor = 1.02,
i = 0,
years = Math.ceil(Math.log(2) / Math.log(factor));
while (i++ < years) amount *= factor;
console.log('years', Math.log(2) / Math.log(factor));
console.log('total', amount);