贷款的计算方式

在做金融方面开发的时候,有时会涉及到贷款。既然贷款,那么就需要还款,那每月的还款额度及利息就需要进行计算。此前没有接触过此类的开发,当这次遇到的这个需求的时候,就卡壳了,费了些时间才算开发完,在此记录一下。

贷款的还款方式一般分为等额本金和等额本息。

1、等额本金

概念:等额本金是指一种贷款的还款方式,是在还款期内把贷款数总额等分,每月偿还同等数额的本金和剩余贷款在该月所产生的利息,这样由于每月的还款本金额固定,而利息越来越少,借款人起初还款压力较大,但是随时间的推移每月还款数也越来越少。

计算方式:每月还款本金 = 贷款金额/贷款期数

                 每月还款利息 = (贷款金额-(期数-1)*每月还款本金)*月利率

举例:贷款金额为a,期数为b,月利率为c,每月的本金为m,每月还款利息为n,总利息为x,还款总额为y

 m = a/b;
for (int i = 1; i <= b; i++) { n = (a - (b - 1) * m) * c; x = x+n; }
y = a + x;

2、等额本息

概念:等额本息是指一种贷款的还款方式,指在还款期内,每月偿还同等数额的贷款(包括本金和利息)。

计算方式:每月应还金额 = 贷款本金*[贷款月利率*(1+贷款月利率)^贷款月数]/[(1+贷款月利率)^贷款月数-1]

举例:a:贷款本金 ,i:贷款月利率, n:贷款月数,m:每月应还金额

m = a*[i*(1+i)^n]/[(1+i)^n-1],这也可以这样写:m = a*(i*Math.pow(1+i,n))/(Math.pow(1+i,n)-1)

说明:这种方式只能算出每月还款的本息和,等额本息的还款方式计算每月应还的本金和利息就比较麻烦,下面是我的计算方式(这种方式为啥可以计算出来,我还不是很明白,反正就是各种百度之后的结果。。。):

贷款金额为a,期数为b,月利率为c,每月的本金为m,每月还款利息为n,每月应还本息和为k,总利息为x,还款总额为y

k = a*(c*Math.pow(1+c,b))/(Math.pow(1+c,b)-1);
y = k*b;
x = y-a;
for (int i = 1; i <= b; i++) {
    n = (a*c-k)*Math.pow(1+c,i-1)+k;
    m = k-n;
}

附:月利率 = 年利率/12;Math.pow(a,b)的意思是a的b次方

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值