在Javascript中计算贷款支付

时间:2012-11-13 11:24:30

标签: javascript math keydown

我正在我的网站上制作一个贷款支付计算器(www.kreditrunner.dk - 在页面底部)。

编辑:问题通过以下等式解决:

var princ = document.getElementById("amount").value;
var intr = document.getElementById("earlypercent").value/1200;
var term = document.getElementById("time").value;

document.getElementById("result").value = princ * intr / (1 - (Math.pow(1/(1 + intr), term)));

而且我也使用了键盘功能。按下键时,输入尚未收到值,因此结果错误:)

原始帖子:

我有四个输入,分别是金额,每年的利率百分比,付款期限和结果。

<table>
    <tr>
        <td width="150">
            <label for="amount">Lånebeløb (DKK)</label>
            <input type="text" id="amount" name="amount" class="input-small">
            <label for="earlypercent">ÅOP (%)</label>
            <input type="text" id="earlypercent" name="earlypercent" class="input-small">
        </td>
        <td>
            <label for="time">Løbetid (Mdr)</label>
            <input type="text" id="time" name="time" class="input-small">
            <label for="result"><b>Månedlig betaling (DKK)</b></label>
            <input type="text" id="result" name="result" class="input-medium">
        </td>
    </tr>
</table>

对于前三个输入中的每一个,我都有下面列出的计算结果,它来自以下等式:http://www.wikihow.com/Calculate-a-Loan-Payment

$('#amount').keydown(function () {
    var amount = document.getElementById("amount").value;
    var earlypercent = document.getElementById("earlypercent").value;
    var monthlypercent = earlypercent / 12 * 100;
    var time = document.getElementById("time").value;
    var negativetime = time * (-1);
    var result = 1 + monthlypercent;
    result = Math.pow(result, negativetime);
    result = 1 - result;
    result = monthlypercent / result;

    document.getElementById("result").value = result * amount;
}); 

但是,我的结果很奇怪****。正如您在尝试时所看到的那样(例如,值为1000,10%,12个月),结果为8333.33,应该在83.33左右。实际上应该是87.95左右。

所以我可以将* 100移动到montlypercent中,但是当你看到将金额和制表符写入下一个输入字段时,即使值相同,结果也会改变。似乎没有正确的方程式和keydown功能困扰我:/

请帮忙:)

0 个答案:

没有答案