Monthly Payment: $0.00
Total Interest Paid: $0.00
Loan Paid Off Early: 0 months
function calculateAmortization() {
const loanAmount = parseFloat(document.getElementById(“loanAmount”).value);
const interestRate = parseFloat(document.getElementById(“interestRate”).value) / 100 / 12;
const loanTerm = parseInt(document.getElementById(“loanTerm”).value) * 12;
const extraPayment = parseFloat(document.getElementById(“extraPayment”).value);
if (isNaN(loanAmount) || isNaN(interestRate) || isNaN(loanTerm) || isNaN(extraPayment)) {
alert(“Please enter valid values for all fields.”);
return;
}
let monthlyPayment = (loanAmount * interestRate) / (1 – Math.pow(1 + interestRate, -loanTerm));
let totalPaid = 0;
let monthsPaid = 0;
while (loanAmount > 0) {
loanAmount -= (monthlyPayment – loanAmount * interestRate + extraPayment);
totalPaid += monthlyPayment + extraPayment;
monthsPaid++;
if (loanAmount <= 0) break;
}
let totalInterest = totalPaid – (loanAmount * loanTerm);
let monthsSaved = loanTerm – monthsPaid;
document.getElementById("monthlyPayment").textContent = monthlyPayment.toFixed(2);
document.getElementById("totalInterest").textContent = totalInterest.toFixed(2);
document.getElementById("monthsSaved").textContent = monthsSaved;
}