我正在为我的班级编写一个程序,我们还没有真正了解如何使用逗号格式化数字,我已经做了一些研究并试图使用toLocalestring(),但是无法使它工作。我不确定我是不是把它放在正确的位置,或者是否有另一种方法将逗号放在我想要的地方。我会发布我的代码,看看是否有人知道我需要做什么。我只需要逗号显示在余额和利息列中。此外,我必须根据类要求使用console.log()。
function displayWelcome() {
console.log("Welcome!");
console.log("This 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) {
var pad = 17;
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();
console.log('Year'.padStart(pad), 'Balance'.padStart(pad - 10), 'Payment Number'.padStart(pad - 1), 'Interest Paid'.padStart(pad - 4), 'Minimum Payment'.padStart(pad - 3));
var acum = 0;
var yearcount = 0;
var paynum = 0;
var interestPaid = 1;
var year = 0;
while (balance > 0) {
paynum++;
interestPaid = balance * (interest / 12);
balance = Math.max(0, balance - (minimumPayment - balance * interest / 12));
minimumPayment = Math.max(20, balance * minimumPaymentRate);
acum = (parseFloat(acum) + parseFloat(interestPaid)).toFixed(2);
if (yearcount % 12 === 0) {
year++;
console.log(
('' + year).padStart(pad),
'$' + parseFloat(balance).toFixed(2).padStart(pad - 9),
('' + paynum).padStart(pad - 3),
'$' + parseFloat(interestPaid).toFixed(2).padStart(pad - 5),
'$' + parseFloat(minimumPayment).toFixed(2).padStart(pad - 3)
);
} else {
console.log(
''.padStart(pad),
'$' + parseFloat(balance).toFixed(2).padStart(pad - 9),
('' + paynum).padStart(pad - 3),
'$' + parseFloat(interestPaid).toFixed(2).padStart(pad - 5),
'$' + parseFloat(minimumPayment).toFixed(2).padStart(pad - 3)
);
}
yearcount++;
}
}
var balance = 1500;
var minimumPaymentRate = 0.02;
var interest = 0.18;
displayWelcome();
var minimumPayment = calculateminimumPaymentment(balance, minimumPaymentRate);
displayPayments(balance, interest, minimumPayment);
答案 0 :(得分:0)
您必须自己格式化数字。首先将其转换为字符串,然后使用正则表达式将点替换为逗号:
var a = 1234.5678;
var b = a.toFixed(2);
var c = b.replace(/\./, ',');
console.log(a, b, c);