我正在我的网站上制作贷款支付计算器(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)));
而且我还使用了 keyup 功能。因为当按键被按下时,输入还没有收到值,因此结果错误:)
原帖:
我有四个输入,分别是金额、每年的利率百分比、付款期限和结果。
<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 左右。
所以我可以在 montlypercent 中移动 *100,但是正如您在将金额和制表符写入下一个输入字段时看到的那样,即使值相同,结果也会发生变化。似乎无法正确计算方程式,并且 keydown 功能困扰着我:/
请帮忙 :)