繁体   English   中英

javascript抵押计算器功能

[英]javascript mortgage calculator function

我几乎可以使用它了,但是由于某种原因,在摊销表上还有剩余。 我认为这可能与取整有关,但不确定。 如果有人对此有经验,可以看看每月付款功能。 这是我正在开发的一个小型ribs.js应用程序的一部分,您可以在运行中查看它http://rvb.chrismills.la

// Calculate mortgage based on selected values
calculateRBV: function() {
     var _this = this;
    // Make sure the correct downpayment is displaying
    _this.calculateDP();
    var _calcRent = $('#rvbRent').val();
    var _calcVal = $('#rvbBuy').val();
    var _calcDpPercent = $('#rvbDP').val()/100;
    var _calcDpAmt = _calcVal * _calcDpPercent;
    var _calcFinanced = _calcVal - _calcDpAmt;
    var _calcLength = $('#rvbTerm').val() * 12;
    var _calcRate = $('#rvbRate').val()/100/12;
    var _calcTaxes = $('#rvbTaxes').val();
    var _calcHpChange = $('#rvRentChangeVal').val();
    var _calcRentChange = $('#rvRentChangeVal').val();
    var _monthlyPayment = Math.floor((_calcFinanced*_calcRate)/(1-Math.pow(1+_calcRate,(-1*_calcLength)))*100)/100;
    var _totalPayments = _monthlyPayment * _calcLength;
    var _totalInterest = _totalPayments - _calcVal;
    var _totalRent = _calcRent * _calcLength;
    $('#rvbMonthly span').html(_this.formatNumber(_monthlyPayment));
    $('#rvbTotal span').html(_this.formatNumber(_totalPayments));
    $('#rvbInterest span').html(_this.formatNumber(_totalInterest));
    _this.buildAmortizationChart(_calcFinanced, _monthlyPayment, _calcLength, _calcRate);
    $('#rvbGraph').stop().slideDown(250);
    $('#amortizationChart').stop().slideDown(250);
},

// Build Amortization Chart
buildAmortizationChart: function(total, monthlyPayment, months, rate) {
    var _this = this;
    $('#amortizationChart tbody').html(''); // clear previous
    var _total = total;
    var _monthlyPayment = monthlyPayment;
    var _months = months;
    var _rate = rate;
    for(var i=1; i<=months; i++) {
        var _interest = _total * _rate;
        var _principal = _monthlyPayment - _interest;
        _total = _total - _principal;
var aRow = '';
aRow += '<tr>';
aRow += '<td width="20%">';
aRow += i;
aRow += '</td>';
aRow += '<td width="20%">';
aRow += '$' + _monthlyPayment;
aRow += '</td>';
aRow += '<td width="20%">';
aRow += '$' + _this.formatNumber(_principal);
aRow += '</td>';
aRow += '<td width="20%">';
aRow += '$' + _this.formatNumber(_interest);
aRow += '</td>';
aRow += '<td width="20%">';
aRow += '$' + _this.formatNumber(_total);
aRow += '</td>';
aRow += '</tr>';
$('#amortizationChart tbody').append(aRow);
}
}, 

好的,我可以看到index.js _total第133行确实不是整数:

_total = _total - _principal;

如果要获取整数,可以执行以下操作:

_total = Math.round(_total - _principal);

或者,如果您想获得特定的小数位数,请参阅此文章: 在JavaScript中使用正好两个小数位数格式化数字

这就是剩余的意思吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM