Rumah >hujung hadapan web >tutorial js >Algoritma Kalkulator Pinjaman Kepentingan JavaScript
kod awal (dengan nilai hardcoded):
<code class="language-javascript">// FORMULA: p = x*(1 - (1+r)^-n)/r (where p is the principal, x is the monthly payment, r is the monthly interest rate, and n is the number of payments) var interest = 15; // Annual interest rate var rate = interest / 100; // Monthly interest rate var principal = 1000; // Loan amount var payment = 100; // Monthly payment var noofpay = 12; // Number of payments (months) var nper1 = Math.log(1 - ((principal / payment) * (rate / noofpay))); var nper2 = Math.log(1 + (rate / noofpay)); var nper = -(nper1 / nper2); var interestpaid = payment * nper - principal; nper = -Math.round(nper); var nyear = Math.floor(nper / 12); var nmonth = nper % 12; var period; if (nper > 0) { period = nyear + " Year(s)" + (nmonth > 0 ? " and " + nmonth + " Month(s)" : ""); } else { period = "Invalid Values"; interestpaid = 0; } console.log("Monthly Payments: " + period + ", Total Interest Paid: " + interestpaid.toFixed(2));</code>
Kod yang lebih baik (sebagai fungsi):
<code class="language-javascript">// Loan Calculator Function function calculateLoan(interest, principal, payment) { var rate = interest / 100; // Annual interest rate to monthly var noofpay = 12; // Assuming monthly payments var nper1 = Math.log(1 - ((principal / payment) * (rate / noofpay))); var nper2 = Math.log(1 + (rate / noofpay)); if (isNaN(nper1) || isNaN(nper2)) { // Handle invalid input that would cause NaN return { period: "Invalid Values", interestpaid: 0 }; } var nper = -(nper1 / nper2); var interestpaid = payment * nper - principal; nper = -Math.round(nper); var nyear = Math.floor(nper / 12); var nmonth = nper % 12; var period = nper > 0 ? nyear + " Year(s)" + (nmonth > 0 ? " and " + nmonth + " Month(s)" : "") : "Invalid Values"; return { period: period, interestpaid: interestpaid.toFixed(2) }; } // Example usage: var results = calculateLoan(15, 1000, 100); console.log("Monthly Payments: " + results.period + ", Total Interest Paid: $" + results.interestpaid);</code>hasil dari input tidak sah) dan mengembalikan objek yang mengandungi nilai -nilai yang dikira, menjadikannya lebih mantap dan lebih mudah untuk diintegrasikan ke dalam aplikasi yang lebih besar. Ingat bahawa pengiraan ini menganggap pembayaran bulanan. Untuk frekuensi pembayaran lain, pemboleh ubah
dan pengiraan kadar faedah memerlukan pelarasan. NaN
noofpay
Soalan Lazim ini dijawab dengan ringkas agar sesuai dengan konteks kod yang disediakan dan mengelakkan pengulangan yang tidak perlu. Penjelasan yang lebih terperinci akan sesuai untuk dokumen yang berasingan dan lebih komprehensif.
calculateLoan
calculateLoan
isNaN()
calculateLoan
NaN
payment * nper
Atas ialah kandungan terperinci Algoritma Kalkulator Pinjaman Kepentingan JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!