用Javascript计算贷款支付

用Javascript计算贷款支付,javascript,math,keydown,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.getElementBy

我正在我的网站(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>
然而,我的结果是奇怪的****。正如您在尝试时所看到的(例如,使用值1000、10%、12个月),结果是8333.33,而它本应在83.33左右。实际上应该是87.95左右

因此,我可以在montlypercent中移动*100,但是,正如您在将金额和制表符写入下一个输入字段时所看到的,即使值相同,结果也会发生变化。似乎无法得到正确的等式,按键功能困扰着我:/


请帮助:)

如果我填写了,我会得到87.91588723000987,但是当你把10放在应该放12的地方,反之亦然,你会得到8333.333。。。etcI刚刚修复了它:D我如何删除帖子?很好:)问题出在哪里?方程式:)Se编辑了将解决方案作为答案(并在几天内接受它作为答案,如果可以的话),不要删除问题;堆栈溢出旨在帮助未来的访问者,而不仅仅是您。
$('#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;
});