import java.math.BigDecimal;/*** 银行还款计划*/
public class BankRefund {/*** 等额本金还款法【利息少,但前期还的多】* @param totalMoeny 贷款总额* @param rate 贷款商业利率* @param year 贷款年限*/public static void main(String[] args) throws Exception {int totalMoney=460000;double rate=4.9;int year=25;//double monthRes = monthPri + (totalMoney - monthPri * (i - 1)) * monthRate; 计算公式  BigDecimal bigtotalMoney = new BigDecimal(totalMoney);  BigDecimal bigtotalMonth = new BigDecimal(year * 12);  BigDecimal bigrate = new BigDecimal(rate);  BigDecimal biyearmonth = new BigDecimal(1200);double monthPri = bigtotalMoney.divide(bigtotalMonth, 2, BigDecimal.ROUND_HALF_UP).doubleValue();/**保留2位**/ BigDecimal exactMonthPri=bigtotalMoney.divide(bigtotalMonth, 16, BigDecimal.ROUND_HALF_UP);/**保留16位**/for (int i = 1; i <= (year * 12); i++) {BigDecimal payedPri=exactMonthPri.multiply(new BigDecimal(i-1));/**已经还的本金**/BigDecimal remainPri=bigtotalMoney.subtract(payedPri);/**剩余本金**/BigDecimal monthInterest=remainPri.multiply(bigrate.divide(biyearmonth,16, BigDecimal.ROUND_HALF_UP));      System.out.print("第" + i + "月本金为:"+monthPri);  System.out.println("  月利息为:"+monthInterest.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());  }}/*** 等额本息还款【利息多】* @param totalMoeny 贷款总额* @param rate 贷款商业利率* @param year 贷款年限*/public static void interest(int totalMoney, double rate, int year) {double monRate = resMonthRate(rate);       double monInterest = totalMoney * monRate * Math.pow((1 + monRate), year * 12) / (Math.pow((1 + monRate), year * 12) - 1);BigDecimal b = new BigDecimal(monInterest);monInterest = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();System.out.println("月供本息和:" + monInterest);}/*** 转换为月利率* @param rate* @return*/public static double resMonthRate(double rate) {return rate / 12;}public static void main(String[] args) {int totalMoney = 460000;double rate = 0.049;int year = 25;// BankRefund.interest(totalMoney, rate, year);BankRefund.principal(totalMoney, rate, year);}
}

console:

第1月本金为:1533.33  月利息为:1878.33
第2月本金为:1533.33  月利息为:1872.07
第3月本金为:1533.33  月利息为:1865.81

。。。。。。

BigDecimal.setScale(newScale, roundingMode)方法用于格式化小数点

newScale指的是你小数点后的位数

roundingMode是小数的保留模式

BigDecimal.ROUND_HALF_UP表示的就是4舍5入。

java等额本金、等额本息计算相关推荐

  1. 等额本金等额本息工具类2023

    等额本金&等额本息工具类2023 等额本金 等额本金 问题反馈 等额本金 import java.math.BigDecimal; import java.math.RoundingMode; ...

  2. java 等额本金等额本息工具类

    2019独角兽企业重金招聘Python工程师标准>>> 等额本息: /*** Description:等额本息工具类* Copyright: Copyright (corporati ...

  3. 如何使用python进行等额本金-等额本息贷款计算

    #贷款额为a,月利率为i,年利率为I,还款月数为n a = 500000.00 I = 0.11495 i = I/12 n = 60 print("-----等额本息计算,以5个月为例-- ...

  4. 银行业务中贷款算法等额本金等额本息算法程序

    写一个贷款计算器,从网上找了一个算法,自己改了改可以用了,不错,分享给大家 import java.text.DecimalFormat; public class jshk { public sta ...

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

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

  6. 等额本金.等额本息.房贷计算

    <?phpfunction debx(){$dkm = 12; //贷款月数,20年就是240个月$dkTotal = 2000; //贷款总额$dknl = 0.049; //贷款年利率$em ...

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

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

  8. Java实现等额本金

    import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Calendar; import ja ...

  9. 房贷利率有无套路?Python解读“等额本金与等额本息”的差异所在

    作者 | xiaoyu 来源 | Python数据科学 很多朋友留言说不知道房贷利率的不同归还方式是不是有套路,内心深表疑虑.我的第一反应是因为房贷很高,大家看到消费分期的套路自然而然就想到了房贷,很 ...

  10. python等额本息和等额本金_用Python解读房贷利率,要不要看随你

    可能很多买过房.贷过款的朋友大概都知道怎么回事,但是我相信大部分人也没细研究过,而绝大部分人买房时更是任由房屋中介摆布,因为给了中介费相信他们可以算的明明白白,自己也就不过多深究了.但我觉得买房不是小 ...

最新文章

  1. 2021年大数据常用语言Scala(五):基础语法学习 字符串
  2. Tomcat灵活配置多项目,多端口,多域名,多虚拟目录
  3. 趣谈网络协议笔记-二(第十二讲)
  4. 常用软件架构模式分类
  5. NOtePad++快捷键大全
  6. wxWidgets:wxStaticLine类用法
  7. 垂直拆分后,遇到瓶颈,数据水平拆分
  8. 禅道 11.4.1 版本发布,主要优化细节
  9. iView学习笔记(三):表格搜索,过滤及隐藏列操作
  10. [深度学习]-CNN-ImageNet历年冠军和相关CNN模型
  11. Android UI:机智的远程动态更新策略
  12. NavicatPremium-Mac-无法打开问题
  13. Qt抽奖圆盘(减速效果)
  14. PPC软件字体太小的调整
  15. 网易云音乐 网络错误 linux,解决ubuntu安装网易云音乐失败的方法
  16. 锐捷服务器虚拟化技术_网络设备-锐捷-交换机(S8607E)VSU虚拟化终结配置篇
  17. oracle错误1327,问题简述:在oracle linux下安装oracle10g,多个文件报“Permission denied”错误...
  18. 【自然语言处理】【文本风格迁移】基于风格实例的文本风格迁移
  19. 优秀的第二外语学习网站:Lang-8
  20. 蜜瓜文案:水果店蜜瓜简单文案,蜜瓜水果朋友圈配的文案

热门文章

  1. 【每天学点Python】案例四:52周存钱挑战
  2. 计算机键盘在线识别,电脑的外接键盘无法识别怎么办?
  3. 常见查找算法--(快速查找或二分查找)
  4. Savitzky-Golay 滤波器
  5. SI24R1调试接收方能接收到数据,但发送方提示发送超时失败
  6. sql 多表连接多条件匹配查询,按匹配度排序
  7. 解决shardingsphere 4.1.1 SQLFeatureNotSupportedException: isValid sharding-jdbc
  8. PyQt5 clicked和clicked[bool]信号区别
  9. 回归远程 - 云原生IDE是IaC从表象触达本质的必然选择 | SmartIDE
  10. Android接入google地图