写一个贷款计算器,从网上找了一个算法,自己改了改可以用了,不错,分享给大家

import java.text.DecimalFormat; public class jshk { public static void main(String[] args) { /** * 一、 按揭贷款等额本息还款计算公式 * 1、 计算公式 * 每月还本付息金额=[本金×月利率×(1+月利率)还款月数]/(1+月利率)还款月数-1] * 其中:每月利息=剩余本金×贷款月利率 * 每月本金=每月月供额-每月利息 * 计算原则:银行从每月月供款中,先收剩余本金利息,后收本金;利息在月供款中的比例中虽剩余本金的减少而降低, * 本金在月供款中的比例因而升高,但月供总额保持不变。 * 2、 商业性房贷案例 * 贷款本金为300000元人民币 * 还款期为10年(即120个月) * 根据5.51%的年利率计算,月利率为4.592‰ * 代入等额本金还款计算公式计算: * 每月还本付息金额=[300000×4.592‰×(1+月利率)120]/[(1+月利率)120-1] * 由此,可计算每月的还款额为3257.28元人民币 * 二、 按揭贷款等额本金还款计算公式 * 1、 计算公式 * 每月还本付息金额=(本金/还款月数)+(本金-累计已还本金)×月利率 * 每月本金=总本金/还款月数 * 每月利息=(本金-累计已还本金)×月利率 * 计算原则:每月归还的本金额始终不变,利息随剩余本金的减少而减少 * 2、 商业性房贷案例 * 贷款本金为300000元人民币 * 还款期为10年(即120个月) * 根据5.51%的年利率计算,月利率为4.592‰ * 代入按月递减还款计算公式计算: * (第一个月)还本付息金额=(300000/120) + (300000-0)×4.592‰ * 由此,可计算第一个月的还款额为3877.5元人民币 * (第二个月) 还本付息金额=(300000/120) + (300000-2500)×4.592‰ * 由此,可计算第一个月的还款额为3866.02元人民币 * (第二个月) 还本付息金额=(300000/120) + (300000-5000)×4.592‰ * 由此,可计算第一个月的还款额为3854.54元人民币 * 再依次类推,我们就可以计算出任何一个月的还本付息金额了。 */ DecimalFormat df = new DecimalFormat("#.00"); int totalmomey = 380000; // 贷款总金额 double tax = 5.94 * 0.01; // 当前利率 double percent = 0.70; // 70% 当前为7折优惠利率 int years = 20; // 贷款年数 int passedMonth = 8; // 已经还款月数 int currentYear = 2009; // 当前年份 double oneMonthMoney = (double) totalmomey / (years * 12); for (int i = 0; i < years - 1; i++) { System.out.println("/n-------------------" + currentYear + "年还款计划-------------------"); for (int j = 0; j < 12; j++) { double taxMoney = (totalmomey - oneMonthMoney * passedMonth) * (tax / 12) * percent; double money = oneMonthMoney + taxMoney; passedMonth++; String currentMonth = "" + (j + 1); if(j < 9) { currentMonth = "0" + currentMonth; } System.out.println("" + currentYear + "年第" + currentMonth + "月应还款金额 : " + df.format(oneMonthMoney) + " + " + df.format(taxMoney) + " = " + df.format(money)); } currentYear++; } } /** * 三、 两种还贷方式的比较 * 1、 计算方法不同 * 等额本息还款法——即借款人每月以相等的金额偿还贷款本息。 * 等额本金还款法——即借款人每月等额偿还本金,贷款利息随本金逐月递减。 * 2、 两种方法支付的利息总额不一样 * 在相同的贷款金额、利率和贷款年限的条件下,等额本金还款法的利息总额少于等额本息还款法。 * 3、 还款前几年的利息、本金比例不一样 * 等额本息还款法前几年还款总额中利息占的比例较大(有时高达90%左右),等额本金还款法的本金平摊到每一次, * 利息借一天算一天,所以二者的比例最高时也就各占50%左右。 * 4、 还款前后期的压力不一样 * 因为等额本息还款法每月的还款金额是一样的,所以在收支和物价基本不变的情况下,每次的还款压力是一样的; * 等额本金还款法每次还款的本金一样,但利息是由多到少、依次递减,同等情况下,后期的压力要比前期轻得多。 * 5、 要考虑资金的时间价值 * 货币资金在不同的时间点上具有不同的价值。一般来说,年初的一元钱价值要小于年底的一元钱, * 这是由于资金在周转使用后会产生增值。时间越长,资金实现的增值越大。不同时期的资金不能简单的比较大小, * 更不能相加。在比较不同时期的资金大小时,应根据资金的时间价值折算到同一时期才能进行比较。 * 在比较两种还款法的偿还本息多少时,如果直接将各期应偿还的绝对值相加进行比较是不客观的。通过考虑时间价值, * 导致不同支付之间产生不同利息的因素,两种还款法的数量上是一致的。 * 6、 两种还款适合不同人群 * 两种还款方式从本质上是一致的。人民银行之所以规定两种住房贷款的还款法主要是为了指导商业银行为按揭购房者 * 提供不同程度的信贷支持。比较来年骨折的还款金额,可以看出等额本金还款法的年还款额是逐年递减的, * 但前期的年支付金额要大于等额本息还款法,负担较重,适用于有一定积蓄或前期收入较丰厚,但后期收入逐渐减少的借款人, * 如中老年人等。等额本息还款法每年的还款额相等,适用于预期收入稳定或递增的借款人,如青年人。 * 计划贷款买房的人可以根据自身的经济状况和特点,包括各项收入、保险证券等其他借钱渠道等综合情况, * 与银行协商确定采用还款法,并订立合同。 * 四、 提前还贷的计算方式 * 1、 提前还贷的类型 * 供房者提前还贷,并非是减少利息支出。在我国,不同的银行有不同的提前还贷方式,综合来说有全部提前还贷和部分提前还贷两大类。 * 其中,提前全部还贷从理论上说,利息支出是做少的,但是它当然也是最考验还款人的经济实力——及还款人要有合理的计划, * 要有安全的资金流。在个人量入为出的前提下,这种方式是最优的。 * 2、 提前还贷的方式选择 * 部分提前还贷方式相对比较复杂,不同的银行分门别类也有不同的还款方式可供参考选择。大致有三种部分提前还款方式: * a. 部分提前还款,剩余的贷款保持每月还款额不变,将还款期限缩短。 * b. 部分提前还款,剩余的贷款将每月还款额减少,保持还款期限不变。 * c. 部分提前还款,剩余的贷款将每月还款额减少,同时将还款期限缩短。 * 如何选择提前还贷方式,消费者要仔细算一下,按照不同的方式,综合考虑自己的经济实力来制定。 * 3、 提前还贷方式的比较 * 王先生2003年向银行借贷10年期商业性贷款35万元。第一次还款时间为2003年11月份,提前还款时间为2005年11月份, * 如果部分提前还贷,则提前还贷15万元(不含当月还款额)。 * 选择方式一:一次性提前还贷 * 经计算,王先生原月供3719元,在这种提前还贷方式下,2005年11月,当月一次还款294563元,则可以节省利息支出62474元。 * 选择方式二:部分提前还贷,缩短还款期限 * 经计算,王先生原月供3719元,在这种提前还贷方式下,2005年11月,当月一次还款153719元,下月起月供3714元, * 则新的最后还款期为2009年3月,可节省利息支出51048元。 * 选择方式三:部分提前还贷,减少月供 * 经计算,王先生原月供3719元,在这种提前还贷方式下,2005年11月,当月一次还款153719元,下月起月供1770元, * 至最后还款期为2013年10月,可节省利息支出33385元。 * 通过上述个案分析,选择不同的方式节省的利息支出是不同等的,一次性提前还贷节省的利息支出是最大的。在部分还贷中, * 此外还有将每月还款额减少,同时将还款期限缩短,改变还贷方式——例如有等额本息换成等额本金还款方式。在选择之前, * 计算出不同方式下的还贷结果后,要结合经济实力,综合考虑时间、机会成本来确定自己的最佳方式。 * 4、 两类人不适宜提前还贷 * a. 第一种类型 * 月供一样且贷款快要到期的客户。对于选择了等额本息还款法的消费者来说,如果现在贷款已经偿还了一大部分, * 那么提前还贷就不一定划算了。目前购房者贷款买房选择的主要是来年两种还款方式,即等额本金还款法和等额本息还款法。 * 而绝大多数消费者选择的都是等额本息法。等额本息法每月还款额是固定的,但一开始还的大多是利息,到后面主要还本金。 * 比如贷款10年已经还到八九年了,那环的基本上是本金,提前还贷没有意义。而递减法是利随本清,客户什么时候还都可以为自己节省出相应的利息。 * b. 第二种类型 * 近期有投资计划的客户。不少消费者已经习惯了一旦手上有钱就拿来提前还贷,而碰上好的投资项目有贷款去投资经营, * 但经营性贷款利率要比房贷高得多。因此,在提前还贷前,消费者最好考虑清楚近期有没有投资计划,如果手上有好的投资项目, * 收益能够超过房贷利率的,就应该考虑投资而不是提前还贷。 */ int i = 0; } <mce:script type="text/javascript"><!-- //等额本息还款法 //original贷款金额 //yearratio年利率%,如年利率5.6%就为5.6 //year还款年限 function Borrow(original,yearratio,year){ //验证数据有限性 year=parseInt(year); original=parseFloat(original); yearratio=parseFloat(yearratio); //还款月数 timeSpan=year * 12; //某种利率 active = yearratio * 10 / 12 * 0.001; var t1=Math.pow(1+active,timeSpan); var t2=t1-1; var tmp=t1/t2; //月利率 var monthratio = active * tmp; //每月支付本息 var monthBack=original*monthratio; //累计还款总额 var totalBack=monthBack*timeSpan; //累计支付利息 var totalInterest=totalBack-original; //每月应付利息 var monthInterest=totalInterest/timeSpan; totalInterest=(Math.round(totalInterest*100))/100;//存款利息:取两位小数 monthInterest=(Math.round(monthInterest*10000))/10000;//存款利息:取两位小数 monthBack=(Math.round(monthBack*10000))/10000;//存款利息:取两位小数 totalBack=(Math.round(totalBack*100))/100;//本息合计:取两位小数 var objArray=new Array(); objArray[0]=monthBack; objArray[1]=totalBack; objArray[2]=monthInterest; objArray[3]=totalInterest; //alert(objArray); return objArray; } //等额本息还款法 //original贷款金额 //yearratio年利率%,如年利率5.6%就为5.6 //year还款年限 function Floan(original,yearratio,year){ //验证数据有限性 year=parseInt(year); original=parseFloat(original); yearratio=parseFloat(yearratio); //还款月数 timeSpan=year * 12; //某种利率 active = yearratio * 10 / 12 * 0.001; var objArray=new Array(); //月还款额 var interestM=0; //累计还款总额 var interestTotal=0; for(i=1;i<timeSpan+1;i++){ t1=(original-original*(i-1)/timeSpan)*active;//第i月还款利息 interestM=original/timeSpan +t1;//第i月还款额 objArray[i-1]=interestM; interestTotal=interestTotal+interestM; } interestTotal=(Math.round(interestTotal*100))/100 objArray[timeSpan]=interestTotal; return objArray; } Floan(30000, 5.4,5); // --></mce:script>

取出对于自己有用的啊!

银行业务中贷款算法等额本金等额本息算法程序相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

  7. 等额本金VS等额本息

    升息尚无定论 个人房贷市场已现不小波澜 ? http://www.soufun.com 房地产门户-搜房 2004-08-17 11:13:00.0? ? 地产资讯播报:http://news.sh. ...

  8. 等额本息,等额本金区别

    等额本金,等额本息区别 买房银行贷款分为两种: 等额本金和等额本息 等额本息 等额本息定义:还款本金占比逐月递增,利息占比逐月递减,月还款数不变 由于每月的还款额度是一样的,其中每个月的还款包括了根据 ...

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

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

最新文章

  1. SCI论文需要什么程度的统计学
  2. 阿里集团业务驱动的升级——Dubbo 3.0 的演进思路
  3. css-模态框的制过过程
  4. javascript-演练-二级联动下拉框
  5. Vue中Three.js的天空盒
  6. iOS - OC 与 Swift 互相操作
  7. 《Flutter 从0到1构建大前端应用》读后感—第9章【插件与混合工程】
  8. 动态代理 aop切面实现事务管理
  9. 38.Linux/Unix 系统编程手册(下) -- 编写安全的特权程序
  10. Pinyin4j 汉字转拼音使用教程
  11. python图像识别生成矢量图_Python matplotlib图片转化成矢量图并裁剪 - 小众知识
  12. C++设计模式:UML工具及常用符号
  13. 工具类记录之Guawa的Splitter
  14. 解决:【安全警报】该站点安全证书的吊销信息不可用,是否继续?
  15. vmware虚拟机镜像制作成QCOW2
  16. MySQL中登录报错_mysql登录报错 ERROR 1045 (28000)
  17. 请问有没有一款外放音质较好的手机?真双扬声器、环绕立体声,横屏时扬声器左右对称?
  18. Android7 WIFI系统 PNO机制流程详解和隐藏BUG修改
  19. matlab 画折线图,matlab 双坐标折线图画法
  20. C++面试常见问答题看这三篇文章就够了(上)

热门文章

  1. 常用的新媒体工具有哪些?
  2. 第一篇,用Uniapp仿微信的语音电话,视频聊天IM聊天APP开发,支持各类消息收发,音视频通话等
  3. Spring Security(一)
  4. Kotlin-简约之美-基础篇(二):方法的定义和使用
  5. AI:为你写诗,为你做不可能的事
  6. 【159期】面试官问:说说 MongoDB 批量操作与 MySQL 效率对比?
  7. Fiddler抓包工具使用——学习笔记(二)
  8. DocBook学习(v1.6.7)
  9. 大数据培训技术Elasticsearch集群健康
  10. 结构体struct的自然对齐问题(经典)