JAVA计算等额本金还款列表

  • 公式
  • 代码
    • 运行结果

等额本金计算还款列表的代码来了~

公式

月还本息=(本金/还款月数)+(本金-累计已还本金)×月利率

每月本金=总本金/还款月数

每月利息=(本金-累计已还本金)×月利率

还款总利息=(还款月数+1)×贷款额×月利率/2

还款总额=(还款月数+1)×贷款额×月利率/2+ 贷款额

代码

import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Calendar;public class InterestCalculation {static int DECIMAL_SCALE = 9;static BigDecimal BIGDECAMAL_100 = new BigDecimal(100);static BigDecimal BIGDECAMAL_12 = new BigDecimal(12);static BigDecimal BIGDECAMAL_30 = new BigDecimal(30);/*** 等额本金 还款列表计算(自然月)* @param total  总金额* @param yearRate   年利率* @param sumTerm    总期数* @throws Throwable*/public static void calculation_DEBJ_ZRY(BigDecimal total,BigDecimal yearRate,int sumTerm) throws Throwable{//月利率BigDecimal monthRate = yearRate.divide(BIGDECAMAL_12,DECIMAL_SCALE, BigDecimal.ROUND_HALF_UP);//还款总利息BigDecimal sumInterest = new BigDecimal(sumTerm+1).multiply(total).multiply(monthRate).divide(new BigDecimal(2),2,BigDecimal.ROUND_HALF_UP);BigDecimal monthPrincipal = total.divide(new BigDecimal(sumTerm),DECIMAL_SCALE,BigDecimal.ROUND_HALF_UP);BigDecimal remainTotal = total; //剩余本金付初始值为总本金      Calendar calendar = Calendar.getInstance();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");System.out.println("本金:"+total.setScale(2)+"\t年利率:"+yearRate.multiply(BIGDECAMAL_100)+"%\t总期数:"+sumTerm+"\t总利息:"+sumInterest);System.out.println("期次\t回款本息(元)\t回款利息(元)\t回款本金(元)\t剩余本金(元)\t回款日期");for(int i=1;i<=sumTerm;i++){//每月利息=(总本金-累计已还本金)×月利率BigDecimal interest = remainTotal.multiply(monthRate).setScale(2,BigDecimal.ROUND_HALF_UP);//月还本息BigDecimal monthPayTotal = monthPrincipal.add(interest);remainTotal = remainTotal.subtract(monthPrincipal);calendar.add(Calendar.MONTH, 1);System.out.println(i+"\t"+monthPayTotal.setScale(2,BigDecimal.ROUND_HALF_UP)+"\t\t"+interest.setScale(2,BigDecimal.ROUND_HALF_UP)+"\t\t"+monthPrincipal.setScale(2,BigDecimal.ROUND_HALF_UP)+"\t\t"+remainTotal.setScale(2,BigDecimal.ROUND_HALF_UP)+"\t\t"+sdf.format(calendar.getTime()));}}public static void main(String[] args) throws Throwable {//本金10000元,年利率15%,出借18个月BigDecimal total = new BigDecimal(10000);BigDecimal yearRate = BigDecimal.valueOf(0.15);int sumTerm = 18;   calculation_DEBJ_ZRY(total,yearRate,sumTerm);       }

运行结果

本金:10000.00   年利率:15.00%   总期数:18   总利息:1187.50
期次  回款本息(元)   回款利息(元)   回款本金(元)   剩余本金(元)   回款日期
1       680.56          125.00          555.56          9444.44         2019-06-12
2       673.62          118.06          555.56          8888.89         2019-07-12
3       666.67          111.11          555.56          8333.33         2019-08-12
4       659.73          104.17          555.56          7777.78         2019-09-12
5       652.78          97.22           555.56          7222.22         2019-10-12
6       645.84          90.28           555.56          6666.67         2019-11-12
7       638.89          83.33           555.56          6111.11         2019-12-12
8       631.95          76.39           555.56          5555.56         2020-01-12
9       625.00          69.44           555.56          5000.00         2020-02-12
10      618.06          62.50           555.56          4444.44         2020-03-12
11      611.12          55.56           555.56          3888.89         2020-04-12
12      604.17          48.61           555.56          3333.33         2020-05-12
13      597.23          41.67           555.56          2777.78         2020-06-12
14      590.28          34.72           555.56          2222.22         2020-07-12
15      583.34          27.78           555.56          1666.67         2020-08-12
16      576.39          20.83           555.56          1111.11         2020-09-12
17      569.45          13.89           555.56          555.56          2020-10-12
18      562.50          6.94            555.56          0.00            2020-11-12

JAVA计算等额本金还款列表相关推荐

  1. Java计算等额本金和等额本息

    Java计算等额本金和等额本息 等额本金 等额本息 等额本金 /*** 等额本金是指一种贷款的还款方式,是在还款期内把贷款数总额等分,每月偿还同等数额的本金和剩余贷款在该月所产生的利息,这样由于每月的 ...

  2. 按揭贷款等额本金还款计算公式(可以自己修改数据计算出自己的还款计划表)...

    比如我的还款计划表2009年为: -------------------2009年还款计划------------------- 2009年第01月应还款金额 : 1583.33 + 1272.81 ...

  3. C语言实验:等额本金还款法的计算

    海萍夫妇为了彻底告别"蜗居"生活,痛下决心贷款60万元购买了一套三居室 .若贷款月利率为0.5%,还款期限为120个月,还款方式为等额本金还款法(即贷款期限内每期以相等的额度偿还贷 ...

  4. BigDecimal用法之计算等额本金和等额本息

    一.引言 <EffactiveJava>中介绍float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算 ...

  5. 等额本息和等额本金还款在R中的实现

    等额本金还款 library(tidyverse) Eqprincipal <- function(principal, r, Loanterm){n <- Loanterm * 12r ...

  6. 等额本息还款和等额本金还款计算公式的推导

    VBA代码实现:http://blog.csdn.net/xiaotao_liu/archive/2008/02/27/2124452.aspx 众所周知,银行住房贷款的分期付款方式分为等额本息付款和 ...

  7. 等额本息 和 等额本金还款法

    //等额本息还款法 //je 贷款金额 //lv 利率%,如年利率5.6%就为5.6 //qx 贷款期限(月) //lvlx 利率类型,1:年利率, 2:月利率 //xx 详细列表 //公式:[贷款本 ...

  8. 用c语言实现银行贷款程序(等额本息还款法、等额本金还款法)

    王先生从银行贷了350,000元用于买房,贷款期限为20年 ⑴用等额本息还款法,计算每月应还本息(每月月供).20年总利息 ⑵用等额本金还款法,计算每月应还本息(每月月供).20年总利息? ⑶比较两种 ...

  9. C++实现银行贷款等额本息和等额本金还款

    C++实现银行贷款等额本息和等额本金还款 1.等额本金 概念:等额本金就是每个月还款的本金是相同的,即为贷款金额/贷款月数. 计算公式: B=Amonths+a∗rateB = \frac{A}{mo ...

最新文章

  1. Android性能系列-渲染篇
  2. linux /proc目录文件详解
  3. Ubuntu 16.04通过Unity Tweak Tool实现点击图标最小化
  4. PyQt5 图形界面 - Qt Designer独立安装包,仅需30M!python图像化界面绘制工具
  5. 初中数学分几个模块_【初中数学】8大模块61个必考易错知识点!
  6. checkVector()
  7. 【机器学习基础】非常详细!机器学习模型评估指标总结!
  8. C语言 十六进制整数字符串转十进制整数
  9. 【k8s学习笔记】第二篇:在Ubuntu系统中安装kubelet,kubeadm和kubectl
  10. 文献记录(part63)--跨模态社交图像聚类
  11. 还是俄罗斯方块之android版
  12. gluPickMatrix和glReadPixels
  13. js html异步加载的属性,异步加载JS的五种方式
  14. PyQt5笔记(06) -- 菜单
  15. python 长时间运行 会停止_如何“停止”和“恢复”长时间运行Python脚本?
  16. android学习——popupWindow 在指定位置上的显示
  17. Building a Hypermedia-Driven RESTful Web Service
  18. 01-locale-fix.sh的/usr/bin/locale-check: No such file or directory解决 Ubuntu 18.04 20.04
  19. windows service.bat java 内存设置_Tomcat加大内存设置从windows服务启动不生效的问题...
  20. git修改已提交commit的Author信息

热门文章

  1. linux 图片修复,照片修复精灵软件-照片修复精灵手机版下载v1.0.1-Linux公社
  2. ubuntu系统损坏修复_修复损坏的ubuntu gui
  3. 用时间做种子生成随机数
  4. python自学软件-学习python用什么软件
  5. 优秀领导者必读的8本管理学书籍
  6. 猴子分桃子,递归算法简练通俗易懂
  7. 命主属性是水什么意思_八字五行属性查询表,有没有五行属性含水的且
  8. c#实现批量坐标方位角计算
  9. 用Python对淘宝用户行为数据的分析
  10. 8个精挑细选的适用App,全是黑科技,用起来超爽