2017-09-18 4 views
1

をスケジュールを表示する方法IDK私は償却スケジュールを行う必要があり、出力は次のようになります。年間で 住宅ローンの用語 住宅ローンの金利 住宅ローン金額 合計金利 合計住宅ローン金額total_loanが動作していないのはなぜ(total_interestと同じである)、また、正しく

月額住宅ローンの支払い&毎月のモーゲージローン残高。 残高が0の場合「これは終了償却電卓です......」

ありがとう!

<script> 
    var I = 0.0575; 
    var total_interest; 
    var total_loan; 
    var balance; 
    var P = parseFloat(prompt("Enter the loan amount $:", 0)); 
    var Y = parseInt(prompt("Enter the term years ('30 or 15'):", 0)); 
    var termMonths = Y * 12; 
    //if(Y != "30" || Y != "15"){ 
    // alert("Please enter the term years: '30 or 15'"); 
    // var Y = parseInt(prompt("Enter the term years ('30 or 15'):",0)); 


    var month_payment = (((I/12) * P)/(1 - (Math.pow(1 + (I/12), (Y * -12))))).toFixed(2); 

    total_interest = parseFloat((month_payment * termMonths) - P).toFixed(2); 

    total_loan = parseFloat(total_interest + P).toFixed(2); 

    document.write("Mortgage term in years:", +Y + "<br>"); 
    document.write("Mortgage Interest Rate: " + I + "<br>"); 
    document.write("Mortgage amount: $" + P + "<br>"); 
    document.write("Total Interest Amount: $" + total_interest + "<br>"); 
    document.write("Total Mortgage Amount: $" + total_loan + "<br><br>"); 

    var numPayments = 12 * Y; 
    for (var i = 0; i <= numPayments; i++) { 
     balance = parseFloat(total_loan - month_payment).toFixed(2); 
     document.write("Monthly Mortgage Payments: $" + month_payment + " & Mortgage Loan Balance for each month: $" + balance + "<br>"); 
    } 
    if (balance == 0) { 
     document.write("This is the Ending Amortization Calculator......") 
    } 

</script> 

答えて

1

残高を初期化していないという問題があります。また、この状況ではwhileループがうまくいくでしょう。私がここで行ったことは、ループの前にtotal_loanとのバランスが取られていることです。私はバランス - monthly_payment <の前にループを終了し、スクリプトの最後に残高は$ 0.00と書いています。

 var I = 0.0575; 
 
     var total_interest; 
 
     var total_loan; 
 
     var balance; 
 
     var P = parseFloat(prompt("Enter the loan amount $:",0)); 
 
     var Y = parseInt(prompt("Enter the term years ('30 or 15'):",0)); 
 
     var termMonths = Y * 12; 
 
     //if(Y != "30" || Y != "15"){ 
 
     // alert("Please enter the term years: '30 or 15'"); 
 
     // var Y = parseInt(prompt("Enter the term years ('30 or 15'):",0)); 
 

 

 
     var month_payment = (((I/12) * P)/(1- (Math.pow (1+ (I/12),(Y * -12))))).toFixed(2); 
 

 
     total_interest = parseFloat((month_payment * termMonths)-P).toFixed(2); 
 

 
     total_loan = parseFloat(total_interest + P).toFixed(2); 
 

 
     document.write("Mortgage term in years:", + Y +"<br>"); 
 
     document.write("Mortgage Interest Rate: " + I +"<br>"); 
 
     document.write("Mortgage amount: $" + P +"<br>"); 
 
     document.write("Total Interest Amount: $" + total_interest +"<br>"); 
 
     document.write("Total Mortgage Amount: $" + total_loan +"<br><br>"); 
 
     var numPayments = 12 * Y; 
 
     balance = total_loan 
 
     while (balance - month_payment > 0){ 
 
      balance = parseFloat(balance - month_payment).toFixed(2); 
 
      document.write("Monthly Mortgage Payments: $" + month_payment + " & Mortgage Loan Balance for each month: $" + balance +"<br>"); 
 
     } 
 
     document.write("Monthly Mortgage Payments: $" + month_payment + " & Mortgage Loan Balance for each month: $0.00" +"<br>"); 
 
\t  document.write("This is the Ending Amortization Calculator......") 
 

+0

あなたは今、私はそれを得た@jeronありがとうございました! また、その行の何が問題なのか分かりますか?合計total_interest + Pが機能していないためです。 total_loan = parseFloat(total_interest + P).toFixed(2); –

+0

本当に機能していませんか?私がPに50万ドルを払うと、total_loanは私に$ 550429.60を与えています。あなたが期待している数字は何ですか? – jeron

+0

彼女はこれらの公式を私たちに贈ったので、 総金額は月払いx月間 - ローン額です。 合計ローンは、ローン金額+利息総額です。 もし、私のローン金額が50,000ドルで30年で月額300ドルを支払うと、それは300ヶ月になるでしょう - 50,000ドルでしょうか? そして、総貸付金は50,000 +総金利でなければなりません。 total_loanとtotal_interestは同じ金額にすることはできません。私が間違っている? –

関連する問題