PMT功能支付类型

dps*_*123 1 javascript c# vb.net javascript-framework

下面是我计算贷款还款额的函数,就像在Excel中一样,我需要添加另一个参数即付款类型。

function PMT (ir, np, pv, fv ) {
 /*
 ir - interest rate per month
 np - number of periods (months)
 pv - present value
 fv - future value (residual value)
 type - 0 or 1 need to implement that
 */
 pmt = ( ir * ( pv * Math.pow ( (ir+1), np ) + fv ) ) / ( ( ir + 1 ) * ( Math.pow ( (ir+1), np) -1 ) );
 return pmt;
}
Run Code Online (Sandbox Code Playgroud)

在类型= 0的情况下,将计算1个月的利息,因为假定付款在月底。对于Type = 1,由于付款是在月初开始,所以利息计算为0个月。

有人可以通过此PaymentType功能帮助我修改上述功能吗?

http://www.techonthenet.com/excel/formulas/pmt.php

sta*_*247 5

我不确定您需要的PaymentType是什么,但是这里我在C#中用于PMT函数的是纯C#PMT函数:

public static double PMT(double yearlyInterestRate, int totalNumberOfMonths, double loanAmount)
{
    var rate = (double) yearlyInterestRate / 100 / 12;
    var denominator = Math.Pow((1 + rate), totalNumberOfMonths) - 1;
    return (rate + (rate/denominator)) * loanAmount;
}
Run Code Online (Sandbox Code Playgroud)

用法:

PMT(7, 360, 120000);
// Result: 798.36
PMT(4.5, 360, 137500.47);
// Result: 696.69
PMT(4.13, 360, 61520);
// Result: 298.33
PMT(6.38, 360, 89200);
// Result: 556.78
Run Code Online (Sandbox Code Playgroud)