Javascript程序在表输出中抛出不需要的间隙
守则:Javascript程序在表输出中抛出不需要的间隙,javascript,Javascript,守则: function displayWelcome() { console.log("Welcome! \nThis program will determine the time to pay off a credit card and the interest paid based on the current balance, the interest rate, and the monthly payments made.") } function
function displayWelcome() {
console.log("Welcome! \nThis program will determine the time to pay off a credit card and the interest paid based on the current balance, the interest rate, and the monthly payments made.")
}
function calculateminimumPaymentment(balance, minimumPaymentRate) {
return Math.max(20, balance * minimumPaymentRate);
}
function displayPayments(balance, interest, minimumPayment) {
console.log("Balance on your credit card: $" + balance.toFixed(2))
console.log("Interest Rate: " + (interest * 100) + "%")
console.log("Assuming a minimum payment of 2% of the balance ($20 min)")
console.log("Your minimum payment would be: $" + minimumPayment)
console.log("\nYear Balance Payment # Interest Paid Minimum Payment")
var year = 1;
var payments = 1;
var interestPaid = 0;
var yearChange;
while (balance > 0) {
yearChange = false;
if (payments % 12 == 0) {
year++
yearChange = true;
}
interestPaid += balance * interest / 12;
balance = Math.max(0, balance - (minimumPayment - balance * interest / 12));
minimumPayment = Math.max(20, balance * minimumPaymentRate);
console.log(yearChange? year: "" + " " + balance.toFixed(2) + " " + payments + " " + interestPaid.toFixed(2) + " " + minimumPayment.toFixed(2));
payments++;
}
}
var balance = 1500;
var minimumPaymentRate = 0.02;
var interest = 0.18;
displayWelcome()
var minimumPayment = calculateminimumPaymentment(balance, minimumPaymentRate);
displayPayments(balance, interest, minimumPayment);
输出
Year Balance Payment # Interest Paid Minimum Payment
1492.50 1 22.50 29.85
1485.04 2 44.89 29.70
1477.61 3 67.16 29.55
1470.22 4 89.33 29.40
1462.87 5 111.38 29.26
1455.56 6 133.32 29.11
1448.28 7 155.16 28.97
1441.04 8 176.88 28.82
1433.83 9 198.50 28.68
1426.67 10 220.00 28.53
1419.53 11 241.40 28.39
2
1405.37 13 283.88 28.11
1398.35 14 304.96 27.97
1391.35 15 325.94 27.83
1384.40 16 346.81 27.69
1377.47 17 367.58 27.55
1370.59 18 388.24 27.41
1363.73 19 408.80 27.27
1356.92 20 429.25 27.14
1350.13 21 449.61 27.00
1343.38 22 469.86 26.87
1336.66 23 490.01 26.73
3
我不知道如何使它与年份号一起显示相应的数据,因为当我现在运行它时,它只是跳过其余部分,并在下一行再次显示。还想知道如何在第一行有1表示第一年。所需的输出如下所示
谢谢你抽出时间 有两件事需要改变:
var payments = 0;
+
:
console.log((yearChange? year: "") + " " + balance.toFixed(2) +
// ...etc.
" " + (payments+1) +
或者,将以下增量移动到控制台.log之前:
payments++;
您不想改为在html表格上显示输出吗?@funcoding否,仅根据要求在控制台中显示。另外,使间距更一致的一种方法是使用制表符\t
而不是空格。另外,如何使首分钟付款显示为$30.00而不是$29.85?我尝试将.15添加到console.log中,但没有成功。请在余额=
之前移动minimumPayment=
以获取第一行最后一列中的30.00
。@trincot成功了!谢谢你的帮助!