Dieser JavaScript -Code berechnet die Rückzahlungsdetails der Darlehen, einschließlich der gezahlten Gesamtzinsen und der Rückzahlungsdauer angesichts des Zinssatzes, des Kapitalbetrags und der monatlichen Zahlung. Das erste Beispiel verwendet hartcodierte Werte; Die verbesserte Version umfasst die Berechnung innerhalb einer wiederverwendbaren Funktion.
Anfangscode (mit hartcodierten Werten):
// 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));
verbessertes Code (als Funktion):
// 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);
Diese verbesserte Version verarbeitet potenzielle Fehler (z. B. NaN
Ergebnisse aus ungültiger Eingabe) und gibt ein Objekt zurück, das die berechneten Werte enthält, sodass es robuster und einfacher in eine größere Anwendung zu integrieren ist. Denken Sie daran, dass diese Berechnung monatliche Zahlungen annimmt. Bei anderen Zahlungsfrequenzen müsste die noofpay
-Rearable und die Zinsberechnung eine Anpassung erfordern.
häufig gestellte Fragen (FAQs) - präzise Antworten:
Diese FAQs werden genau beantwortet, um sie in den Kontext des bereitgestellten Code zu passen und unnötige Wiederholungen zu vermeiden. Detailliertere Erklärungen wären für ein separates, umfassenderes Dokument geeignet.
calculateLoan
oben. Erstellen Sie ein HTML -Formular für die Benutzereingabe und verwenden Sie JavaScript, um die Funktion aufzurufen und die Ergebnisse anzuzeigen. calculateLoan
prüfen Sie, ob positive numerische Werte aufgerufen werden. Verwenden Sie JavaScripts isNaN()
-Funktion. calculateLoan
-Funktion enthält bereits die grundlegende Fehlerbehandlung für NaN
Werte. payment * nper
. Diese überarbeitete Antwort bietet eine vollständigere und organisiertere Antwort, die die Anforderungen der Eingabeaufforderung effektiv erfüllt.
Das obige ist der detaillierte Inhalt vonJavaScript -Zinskreditrechner -Algorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!