java 计算PMT公式

	/**
	 * 计算还款本金和利息
	 * @param amortizingmode   还款类型
	 * @param amount   贷款金额
	 * @param rate     利率
	 * @param period   时间间隔   1次   /   2次   /n次
	 * @param repaytype   还款间隔类型    年   月  日
	 * @param repayday 还款日期
	 * @param loanday	放款日期
	 */

 

 //(800000*0.045/12*(1+0.045/12)^(20*12))/((1+0.045/12)^(20*12)-1)
int months = DateUtil.calculateMonthsIn(loanday, repayday);
				double i = amount*rate/12*period*Math.pow((1+rate/12*period), months/period);
				double j = Math.pow(1+rate/12*period,months/period)-1;
				 DecimalFormat df=new DecimalFormat("0.00");
				BigDecimal benlihe = new BigDecimal(df.format(i/j));
				System.out.println("分次还本息每次还款额:"+  benlihe);

 

偿还利息 = 剩余本金*年利率/12

 

 

 

 

 

 

 

 


 

国内都是单利的。
一、等额本息法:通俗点讲,就是每个月所还金额相同的一种利息计算方式。
优点:计算简便,每个月金额相同,便于月供者安排资金。
原理:每月还款额,按现行利率折现到贷款时点,求出每个月固定还款额。
A*(P/A,i,N)=P
A----- 每月还款额
i –--- 现行月利率(公积金利率或者商业贷款利率)
N----- 还款期数
P-----贷款总额
(P/A,i,N)---年金现值系数 (可查年金现值系数表获得)
例如:40W 15年贷款 等额本息法
全为公积金贷款 i=5.22%/12=0.435% N=12*15=180期
查年金现值系数表:(P/A,0.435%,180)=124.641655
求得A=3209.20
即每个月还款金额为 3209.2元。

二、等额本金法:指每个月还的本金相同,但利息不同,这样每个月还款总数就不相同,由于本金不断减少,所以,每月还的本利和递减。
优点:年限较长的话,总体利息比较低。
原理:每月还款额=每月还的固定本金+利息
B=P/N+I(递减)
B-----第一个月还款额
P-----贷款总额
N-----还款期数
I-----还的利息
例如:40W 15年贷款 等额本金法
全为公积金贷款 i=5.22%/12=0.435% N=12*15=180期
B=400000/180+400000*0.435%=3962
即第一个月还款金额为 3962 元。
复利的,本金(1+i)n次方。
n为期限,i为利率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值