repayment 等额本金和等额本息每月还款计算公式

编辑:
发布时间: 2020-12-12 14:41:22
分享:
等额本金还款法,即每月等额偿还贷款本金,贷款利息随本金逐月递减,每月还款额计算公式为: 每月还款额=贷款本金/贷款期月数+×月利率等额本息还款法,即贷款期每月以相等的额度平均偿还贷款本息,每月还款计算公式为: 每月还款额=贷款本金×月利率×还款月数/[还款月数-1]

什么是到期一次还本付息法?一次还本付息法,又称到期一次还本付息法,是指借款人在贷款期内不是按月偿还本息,而是贷款到期后一次性归还本金和利息,目前人民银行颁布的1年期内的个人住房贷款,采用的就是这种方式。

  到期一次还本付息法的计算公式如下:

  到期一次还本付息额=贷款本金×[1+年利率]

  到期一次还本付息额=贷款本金×[1+月利率×贷款期]

  其中:月利率=年利率÷12

package test;public class RepaymentPlanForOnePeriod { // 还款期次 int period; // 偿还本息 long repaymentTotal; // 偿还本金 long repaymentPrincipal; // 偿还利息 long repaymentInterest; // 剩余本金 long residualPrincipal; public int getPeriod { return period; } public void setPeriod { this.period = period; } public long getRepaymentTotal { return repaymentTotal; } public void setRepaymentTotal { this.repaymentTotal = repaymentTotal; } public long getRepaymentPrincipal { return repaymentPrincipal; } public void setRepaymentPrincipal { this.repaymentPrincipal = repaymentPrincipal; } public long getRepaymentInterest { return repaymentInterest; } public void setRepaymentInterest { this.repaymentInterest = repaymentInterest; } public long getResidualPrincipal { return residualPrincipal; } public void setResidualPrincipal { this.residualPrincipal = residualPrincipal; }}package test;import java.util.ArrayList;import java.util.List;public class RepaymentPlan { // 贷款编号 String loanNumber; // 本金 long loanCapital; // 利率 double interestRate; // 还款期数 int repaymentPeriod; // 利息总计 long totalInterest; // 还款计划列表 List planList = new ArrayList; public RepaymentPlan { this.loanCapital = loanCapital; this.interestRate = interestRate; this.repaymentPeriod = repaymentPeriod; } public String getLoanNumber { return loanNumber; } public void setLoanNumber { this.loanNumber = loanNumber; } public long getLoanCapital { return loanCapital; } public void setLoanCapital { this.loanCapital = loanCapital; } public int getRepaymentPeriod { return repaymentPeriod; } public void setRepaymentPeriod { this.repaymentPeriod = repaymentPeriod; } public long getTotalInterest { return totalInterest; } public void setTotalInterest { this.totalInterest = totalInterest; } public List getPlanList { return planList; } public void setPlanList { this.planList = planList; } public double getInterestRate { return interestRate; } public void setInterestRate { this.interestRate = interestRate; } @Override public String toString { StringBuilder sb = new StringBuilder; for { sb.append + " repaymentPrincipal:" + plan .getRepaymentPrincipal + " repaymentInterest:" + plan.getRepaymentInterest); sb.append; } return sb.toString; }}package test;import java.math.RoundingMode;import java.text.DecimalFormat;import java.util.List;public class InterestCaculation { DecimalFormat floorFormater = new DecimalFormat; DecimalFormat halfupFormater = new DecimalFormat; public InterestCaculation { floorFormater.setMaximumFractionDigits; floorFormater.setGroupingSize; floorFormater.setRoundingMode; halfupFormater.setMaximumFractionDigits; halfupFormater.setGroupingSize; halfupFormater.setRoundingMode; } /** * @Title: equalCapitalCaculation * @Description: TODO * @param loanCapital * @param repaymentPeriod * @param interestRate * 每月还款额=贷款本金/贷款期月数+×月利率 */ RepaymentPlan equalCapitalCaculation { RepaymentPlan rp = new RepaymentPlan; // 等额本金还款每月还款本金 long repaymentPerPeriod = Long.parseLong); for { // 本期的还款记录对象 RepaymentPlanForOnePeriod rpfop = new RepaymentPlanForOnePeriod; rpfop.setPeriod; // 计算本期还款本金 if { // 如果是最后一期,那么本金就是剩余的资金 rpfop.setRepaymentPrincipal); } else{ // 如果不是最后一期,那么每一期的本金都是一样的 rpfop.setRepaymentPrincipal; } // 本期需要偿还的利息 rpfop.setRepaymentInterest) * interestRate / 100 / 12))); // 本期需要偿还全部金额 rpfop.setRepaymentTotal + rpfop.getRepaymentPrincipal); // 剩余本金 if .size == 0){ rpfop.setResidualPrincipal; } else{ List planList = rp.getPlanList; rpfop.setResidualPrincipal - 1).residualPrincipal - rpfop .getRepaymentPrincipal); } rp.getPlanList.add; } return rp; } /** * @Title: equalCapitalCaculationPlusInterest * @Description: TODO * @param loanNumber * @param repaymentPeriod * @param interestRate * 每月还本付息金额 =[ 本金 x 月利率 x贷款月数 ] / [还款月数 - 1]   * * 每月利息 = 剩余本金x贷款月利率 */ RepaymentPlan equalCapitalCaculationPlusInterestCaculation { RepaymentPlan rp = new RepaymentPlan; // 等额本息每月还款额 long moneyPerPeriod = Long.parseLong * Math .pow), repaymentPeriod)) / ), repaymentPeriod) - 1))); for { // 本期的还款记录对象 RepaymentPlanForOnePeriod rpfop = new RepaymentPlanForOnePeriod; rpfop.setPeriod; rpfop.setRepaymentTotal; if { // 首次还款利息 rpfop.setRepaymentInterest))); // 首次还款本金 rpfop.setRepaymentPrincipal); // 剩余本金 rpfop.setResidualPrincipal); } else if { // 最后一次还款,本金为剩余的所有本金 rpfop.setRepaymentPrincipal)); // 最后一次还款的利息 rpfop.setRepaymentInterest); // 剩余本金 rpfop.setResidualPrincipal; } else{ long residualPrincipal = lastCapitalMoney); // 本次还款利息 rpfop.setRepaymentInterest))); // 本次还款本金 rpfop.setRepaymentPrincipal); // 剩余本金 rpfop.setResidualPrincipal); } rp.getPlanList.add; } return rp; } private long lastCapitalMoney { if != 0){ return planList.get - 1).getResidualPrincipal; } return loanNumber; } public static void main { InterestCaculation ic = new InterestCaculation; System.out.println; RepaymentPlan rpcc = ic.equalCapitalCaculation; System.out.println); System.out.println; RepaymentPlan ccpc = ic.equalCapitalCaculationPlusInterestCaculation; System.out.println); }}
相关阅读
热门精选
孩子 皮肤