等额本息法:每月的还款额相同,从本质上来说是本金所占比例逐月递增,利息所占比例逐月递减,月还款数不变,即在月供“本金与利息”的分配比例中,前半段时期所还的利息比例大、本金比例小,还款期限过半后逐步转为本金比例大、利息比例小。
/** * 等额本息还款法 * @param _loanAmount 贷款金额(元) * @param _loanYears 贷款年数 * @param _annualInterestRate 贷款年利率(%) */ private static void averageCapitalPlusInterest(double _loanAmount, int _loanYears, double _annualInterestRate){ BigDecimal digit_0 = new BigDecimal(0); //数字0 BigDecimal digit_1 = new BigDecimal(1); //数字1 BigDecimal digit_100 = new BigDecimal(100); //数字100 BigDecimal monthsOfYear = new BigDecimal(12); //一年的月数 int scale = 10; //精度 BigDecimal loanTotal = new BigDecimal(_loanAmount); //贷款总额,元为单位 BigDecimal loanYears = new BigDecimal(_loanYears); //贷款年数 BigDecimal annualInterestRate = new BigDecimal(_annualInterestRate).divide(digit_100); //年利率 //还款月数 int loanMonths = loanYears.multiply(monthsOfYear).intValue(); System.out.println("还款月数:" + loanMonths); //月利率 = 年利率 /12。一般以千分之表示 BigDecimal monthlyInterestRate = annualInterestRate.divide(monthsOfYear, scale, BigDecimal.ROUND_HALF_UP); System.out.println("月利率:" + toFixed(monthlyInterestRate.multiply(new BigDecimal(1000)), 3)); //每月还款额 = [贷款本金×月利率×(1+月利率)^还款月数] ÷ [(1+月利率)^还款月数 - 1] BigDecimal bx1 = loanTotal.multiply(monthlyInterestRate).multiply(digit_1.add(monthlyInterestRate).pow(loanMonths)); BigDecimal bx2 = digit_1.add(monthlyInterestRate).pow(loanMonths).subtract(digit_1); BigDecimal monthlyRepaymentAmount = bx1.divide(bx2, scale, BigDecimal.ROUND_HALF_UP); System.out.println("每月还款额:" + toFixed(monthlyRepaymentAmount, 2)); //总利息 BigDecimal totalInterest = digit_0; //剩余本金 BigDecimal remainingPrincipal = loanTotal; System.out.println("\n期数,还款本息(元),还款利息(元),还款本金(元),剩余本金(元)"); for(int n=1; n<=loanMonths; n++){ //每月还贷本金 B = a*i*(1+i)^(n-1) / [(1+i)^N-1] //B=等额本息月还本金,a=贷款总金额, i=贷款月利率,n=第n期还贷数,N=还贷总月数 BigDecimal bj = loanTotal.multiply(monthlyInterestRate).multiply(digit_1.add(monthlyInterestRate).pow(n-1)); bj = bj.divide(digit_1.add(monthlyInterestRate).pow(loanMonths).subtract(digit_1), scale, BigDecimal.ROUND_HALF_UP); //利息 = 剩余本金 * 月利率 BigDecimal lx = remainingPrincipal.multiply(monthlyInterestRate); //剩余本金 remainingPrincipal = remainingPrincipal.subtract(bj); //总利息 totalInterest = totalInterest.add(lx); System.out.println( n + "," + toFixed(monthlyRepaymentAmount, 2) + "," + toFixed(lx, 2) + "," + toFixed(bj, 2) + "," + toFixed(remainingPrincipal,2) ); } System.out.println("总利息:" + toFixed(totalInterest, 2)); System.out.println("还款总金额:" + toFixed(loanTotal.add(totalInterest), 2)); } /** * 四舍五入 * @param value 数值 * @param scale 精度:保留几位小数点 */ private static BigDecimal toFixed(BigDecimal value, int scale){ return value.divide(new BigDecimal(1), scale, BigDecimal.ROUND_HALF_UP); }
相关推荐
贷款等额本息还款明细自动计算公式..xls
利用excl计算住房贷款交款明细(等额本息还款法) 利用宏计算,有excl就能用
没事的时候用C#2.0做的按揭贷款计算器,目前实现了“等额本息还款法”和“等额本金还款法”两种方法的计算,可以导出计算结果到EXCEL,也可以直接打印结果。程序做的比较烂,欢迎大家批评指点。
建行等额本息计算器,里面有2009年最新的利率
最强大的房贷计算器,房贷计算器,提前还款计算器,等额本金还款,等额本息还款。
透析个人住房抵押贷款等额本息还款法.pdf
等额本金&等额本息投资学作业:100万还房贷30年,每月还息,利率为5%,采用等额本息和等额本金两种还款方式。
适用于等额本息方式计算提前还贷节省多少利息 1. 此excel是按25年统计计算,可自行修改 2. 可计算每月还款额度 3. 可输入详细每月提前还贷额度,计算节省多少利息
银行贷款常用两种计算方式:等额本息 等额本金两种
lgd=legend([p1 p2 p3 p4 p5 p6],{'等额本金已还本金','等额本金已缴贷款','等额本金提前还款','等额本息已还本金','等额本息已缴贷款','等额本息提前还款',},'Orientation','horizontal','location','northoutside'...
简单的等额本息还款方式,推算工具。欢迎下载使用,有任何建议可以联系本人。 贷款常见,想学习和详细了解的可以互相探讨。
NULL 博文链接:https://wanbride.iteye.com/blog/607292
等额本息逆推利率java算法,可以逆推出利率 * @param Principal 本金 * @param MonthlyPayments 月还款额 * @param Period 期数 * @param Iterations 运算次数 * @param Digit 保留位数 * @return 利率
Excel制作等额本金和等额本息两种还贷表.docx
python 贷款计算器 tkinter(等额本息,等额本金) 输入:贷款金额,贷款年限,年利率 输出:(等额本息+等额本金)每月还款,总利息支付,本息合计
用于计算商贷、公积金等贷款的利息和本金还款情况,可以用于比较等额本金、等额本息在合适的时候还款利益最大化。
还款计划计算公式,用于计算等额本息及等额本金还款计划
纯vba开发的房贷计算器,没有借助表格,可以独立于excel显示,包括公积金贷款和商业贷款,包括等额本金和等额本息还款,类似于网页在线的计算器。
针对如何还贷投资使自己利益最大化问题,本文利用一阶线性差分方程,建立了一次性还贷,等额本息还贷,等额本金还贷三种基本还贷模型,并且根据题中所给的5,10,15,20年的还贷期限,分别计算出相应年限下的还贷...
每年1月1日起,贷款利率上调了,住房贷款还贷又要多交钱了,知道要多交多少吗,...只需输入最新利率及贷款总额贷款年限,就可以得出月还贷本息总额了.(等额本息法) 2012 最新基准贷款利率 7.05 七折利率 4.93 八五折 5.99