没有合适的资源?快使用搜索试试~ 我知道了~
首页java中每月等额与先息后本计算
java中每月等额与先息后本计算
2 下载量 159 浏览量
更新于2023-03-03
评论
收藏 60KB PDF 举报
一般信用贷款会提供两种还款方式:每月等额或者先息后本。每月等额,就是每月归还等同的部分本金和利息,你手里在使用的本金其实是逐月减少的。先息后本就是先还利息,到期归还本金。本文将介绍他们的实现方法。具有很好的参考价值,下面跟着小编一起来看下吧
资源详情
资源评论
资源推荐
java中每月等额与先息后本计算中每月等额与先息后本计算
一般信用贷款会提供两种还款方式:每月等额或者先息后本。每月等额,就是每月归还等同的部分本金和利
息,你手里在使用的本金其实是逐月减少的。先息后本就是先还利息,到期归还本金。本文将介绍他们的实现
方法。具有很好的参考价值,下面跟着小编一起来看下吧
一般信用贷款会提供两种还款方式:每月等额或者先息后本。每月等额,就是每月归还等同的部分本金和利息,你手里在使用
的本金其实是逐月减少的。先息后本就是先还利息,到期归还本金。
每月等额每月等额
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;
/**
* <p>Title: 等额本息还款工具类</p>
*
*/
public class CPMUtils{
/**
* <p>Description: 每月还款总额。〔贷款本金×月利率×(1+月利率)^还款月数〕÷〔(1+月利率)^还款月数-1〕</p>
* @param principal 贷款本金
* @param monthlyInterestRate 月利率
* @param amount 期数
* @return
*/
public static BigDecimal monthlyRepayment(BigDecimal principal, BigDecimal monthlyInterestRate, int amount){
//(1+月利率)^还款月数
BigDecimal temp = monthlyInterestRate.add(MoneyUtils.ONE).pow(amount);
return principal.multiply(monthlyInterestRate)
.multiply(temp)
.divide(temp.subtract(MoneyUtils.ONE), MoneyUtils.MATHCONTEXT);
}
/**
* <p>Description: 月还款利息。(贷款本金×月利率-月还款额)*(1+月利率)^(当前期数-1)+月还款额</p>
* @param principal 贷款本金
* @param monthlyInterestRate 月利率
* @param monthlyRepayment 月还款额
* @param number 当前期数
* @return
*/
public static BigDecimal monthlyInterest(BigDecimal principal, BigDecimal monthlyInterestRate, BigDecimal monthlyRepayment, int number){
//(1+月利率)^(当前期数-1)
BigDecimal temp = monthlyInterestRate.add(MoneyUtils.ONE).pow(number - 1);
return principal.multiply(monthlyInterestRate)
.subtract(monthlyRepayment)
.multiply(temp).add(monthlyRepayment, MoneyUtils.MATHCONTEXT);
}
/**
* <p>Description: 还款总利息。期数×贷款本金×月利率×(1+月利率)^期数÷〔(1+月利率)^期数-1〕-贷款本金 </p>
* @param principal 贷款本金
* @param monthlyInterestRate 月利率
* @param amount 还款期数
* @return
*/
public static BigDecimal interest(BigDecimal principal, BigDecimal monthlyInterestRate, int amount){
//(1+月利率)^期数
BigDecimal temp = monthlyInterestRate.add(MoneyUtils.ONE).pow(amount);
return new BigDecimal(amount)
.multiply(principal)
.multiply(monthlyInterestRate)
.multiply(temp)
.divide(temp.subtract(MoneyUtils.ONE), MoneyUtils.MATHCONTEXT)
.subtract(principal, MoneyUtils.MATHCONTEXT);
}
/**
* <p>Description: 月还款本金。已经精确到分位,未做单位换算</p>
* @param principal 贷款本金
* @param monthlyInterestRate 月利率
* @param monthlyRepayment 月还款额
* @param number 当前期数
* @return
*/
public static BigDecimal monthlyPrincipal(BigDecimal principal, BigDecimal monthlyInterestRate, BigDecimal monthlyRepayment, int number){
BigDecimal monthInterest = monthlyInterest(principal, monthlyInterestRate, monthlyRepayment, number);
//月还款额-月还款利息
return monthlyRepayment.subtract(monthInterest).setScale(MoneyUtils.MONEYSHOWSCALE, MoneyUtils.SAVEROUNDINGMODE);
}
weixin_38693657
- 粉丝: 0
- 资源: 926
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0