Public Bank Loan Calculator

Public Bank Loan Calculator

Public Bank Loan Calculator

Not calculated yet.

let loanSteps = “”; const currencySymbol = “$”, fixedCurrency = “USD”; function calculateLoan(){ loanSteps=””; const amount = parseFloat(document.getElementById(“loanAmount”).value); const term = parseFloat(document.getElementById(“loanTerm”).value); const rate = parseFloat(document.getElementById(“interestRate”).value)/100; if(isNaN(amount) || isNaN(term) || isNaN(rate) || amount <= 0 || term <= 0){ alert("Please enter valid positive values for all fields."); return; } const monthlyRate = rate / 12; const numberOfPayments = term * 12; const numerator = monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments); const denominator = Math.pow(1 + monthlyRate, numberOfPayments) – 1; const monthlyPayment = amount * numerator / denominator; const totalPayment = monthlyPayment * numberOfPayments; document.getElementById("monthlyPayment").value = formatCurrency(monthlyPayment); document.getElementById("totalPayment").value = formatCurrency(totalPayment); loanSteps += `Inputs:
Loan Amount: ${formatCurrency(amount)}
Loan Term: ${term} years
Interest Rate: ${(rate * 100).toFixed(1)}%

`; loanSteps += `Formulas:
Monthly Payment = Loan Amount × Monthly Rate × (1 + Monthly Rate)^Number of Payments / ((1 + Monthly Rate)^Number of Payments – 1)
Total Payment = Monthly Payment × Number of Payments

`; loanSteps += `Results:
Monthly Payment: ${formatCurrency(monthlyPayment)}
Total Payment: ${formatCurrency(totalPayment)}
`; if(document.getElementById(“calculationSteps”).style.display === “block”){ document.getElementById(“calculationSteps”).innerHTML = loanSteps; } } function resetLoan(){ document.querySelectorAll(“#calculator input”).forEach(el => el.value = “”); loanSteps = “”; document.getElementById(“calculationSteps”).innerHTML = “

Not calculated yet.

“; } function toggleCalculationSteps(){ const steps = document.getElementById(“calculationSteps”); const arrow = document.getElementById(“toggleArrow”); if(steps.style.display === “none” || steps.style.display === “”){ steps.style.display = “block”; arrow.style.transform = “rotate(180deg)”; steps.innerHTML = loanSteps || “

Not calculated yet.

“; } else { steps.style.display = “none”; arrow.style.transform = “rotate(0deg)”; } } function formatCurrency(n) { return currencySymbol + n.toFixed(2) + ” ” + fixedCurrency; }

Leave a Reply

Your email address will not be published. Required fields are marked *