【问题标题】:Total monthly Interest formula每月总利息公式
【发布时间】:2014-04-13 21:17:47
【问题描述】:

我试图在价值达到零时显示支付的总利息的价值。所以基本上每个月的所有利息加在一起作为最终价值。然后我需要以百分比显示每月利息的值。我无法弄清楚这个公式。这是它的外观示例http://snag.gy/9vzGi.jpg

function buildResults() {

    var amount = parseFloat(document.getElementById("loanAmt").value );
    var monthly = parseInt(document.getElementById("monthlyPay").value );
    var rate = parseFloat(document.getElementById("intRte").value );



    rate = rate / 100 / 12;

    var msg = "<table id='tablefont' border='3' width='65%'>";
    msg += "<tr>";
    msg += "<td>Month</td>";
    msg += "<td>Principal Paid</td>";
    msg += "<td>Interest Paid</td>";
    msg += "<td>Loan Balance</td>";
    msg += "</tr>";



    newPrincipal=amount;
    var m = 1;   //months

    while ( amount > 0 ) {
        var interest = amount * rate;
        var principal = monthly - interest;

        if (principal > amount) {
            principal = amount;
            amount = 0.0;
        } else {
            amount -= principal;
        }
        var sum = (interest.toFixed(2) + m);

        msg += "<tr><td align='left' bgcolor='pink'>"+m+"</td> \
                <td align='left' bgcolor='pink'>$"+fixVal(principal,0,2,' ')+"</td> \
                <td align='left' bgcolor='pink'>$"+fixVal(interest,0,2,' ')+"</td> \
                <td align='left' bgcolor='pink'>$"+fixVal(amount,0,2,' ')+"</td></tr>";

        m++;

    }

    var msg2 = "";
    msg2 += "Loan Amount: $" + document.getElementById("loanAmt").value + "<br>";
    msg2 += "Annual Interest: " + document.getElementById("intRte").value + "%" +"<br>";
    msg2 += "Monthly Payment: $" + document.getElementById("monthlyPay").value + "<br>";
    msg2 += "Monthly Interest:  " + fixVal(interest,0,2,' ') +"<br>";
    msg2 += "Months to pay off loan: " + (m-1) +"<br>";
    msg2 += "Total Interest Paid: $" + sum + "<br>";


    msg += "</table>";



    document.getElementById("results").innerHTML = msg;
    document.getElementById("overview").innerHTML = msg2;


}

【问题讨论】:

  • 问题是什么?
  • 查看示例链接。我似乎无法弄清楚显示支付总利息价值的公式。在左边写着“支付的总利息:43.71 美元”我想我必须找到一个将所有利息加在一起但似乎无法得到的公式。
  • 我看不出问题出在哪里。 “支付的总利息”等于表中“支付的利息”列的总和。
  • 这就是它的外观示例。我的版本只显示最终的兴趣值。
  • 哦,我明白了。在您的循环中,只需将在另一个变量中计算的兴趣相加即可。

标签: javascript math formula


【解决方案1】:

循环总结您的兴趣。确保变量在 while 循环之外,否则它将超出范围。

var sumInterest = 0;
while ( amount > 0 ) {
    var interest = amount * rate;
    sumInterest += interest;
    var principal = monthly - interest;
    //rest of code here

【讨论】:

  • 不错,很简单的解决方案。我也将变量放入循环中。谢谢。现在唯一的问题是数字没有四舍五入 2 位
  • 啊,这很简单。 Math.round(sumInterest*100)/100;这将去掉前两位之后的所有小数位。
  • 在循环结束时,在右大括号之后。把sumInterest = Math.round(sumInterest*100)/100;
  • 完美。我非常感谢您的帮助。我希望有一天我能像你一样记住一切。保重
  • 没问题。只是需要时间和练习。祝你好运!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多