`

银行等额本息还款算法

    博客分类:
  • java
阅读更多

等额本息算法公式

每月还款额=[贷款本金×月利率×(1+月利率)^还款月数]÷[(1+月利率)^还款月数-1]

/**
 * 说明:等额本息还款算法
 * 
 * @author ljf <liangjf@hundsun.com>
 * @date 2017-2-6 下午4:28:55
 * @version V1.2
 */
public class PrincipalAndInterestEquals {

   /**
    * @param args
    */
   public static void main(String[] args) {
       BigDecimal invest = new BigDecimal(139000); // 本金
       double yearRate = 0.059; // 年利率
       int year = 15;//期限
       double monthRate = yearRate / 12;
       int month = year * 12;
       // 每月本息金额  = (本金×月利率×(1+月利率)^还款月数)÷ ((1+月利率)^还款月数-1)
       BigDecimal monthIncome = invest.multiply(new BigDecimal(monthRate * Math.pow(1 +
               monthRate, month))).divide(new BigDecimal(Math.pow(1 + monthRate, month) - 1), 2,
               BigDecimal.ROUND_HALF_UP);
       System.out.println("每月本息金额 : " + monthIncome);
       System.out.println("---------------------------------------------------");
       // 每月本金 = 本金×月利率×(1+月利率)^(还款月序号-1)÷((1+月利率)^还款月数-1)
       BigDecimal monthCapital;
       BigDecimal sumCapital = BigDecimal.ZERO;
       for (int i = 1; i < month + 1; i++) {
           monthCapital = invest.multiply(new BigDecimal(monthRate * (Math.pow((1 + monthRate),
                   i - 1)))).divide(new BigDecimal(Math.pow(1 + monthRate, month) - 1), 2,
                   BigDecimal.ROUND_HALF_UP);
           System.out.println("第" + i + "月本金: " + monthCapital);
           sumCapital = sumCapital.add(monthCapital);
       }
       System.out.println("---------------------------------------------------");
       // 每月利息  = 剩余本金 x 贷款月利率
       BigDecimal monthInterest;
       BigDecimal capital = invest;
       BigDecimal tmpCapital = BigDecimal.ZERO;
       BigDecimal sumInterest = BigDecimal.ZERO;
       for (int i = 1; i < month + 1; i++) {
           capital = capital.subtract(tmpCapital);
           monthInterest = capital.multiply(new BigDecimal(monthRate)).setScale(2, BigDecimal
                   .ROUND_HALF_UP);
           tmpCapital = invest.multiply(new BigDecimal(monthRate * (Math.pow((1 + monthRate), i
                   - 1)))).divide(new BigDecimal(Math.pow(1 + monthRate, month) - 1), 2,
                   BigDecimal.ROUND_HALF_UP);
           System.out.println("第" + i + "月利息: " + monthInterest);

           sumInterest = sumInterest.add(monthInterest);
       }
       System.out.println("本金总和:" + sumCapital + " 利息总和:" + sumInterest);
   }
}

 

分享到:
评论

相关推荐

    房贷计算器_等额本息还款法_新浪房产_新浪网

    等额本息还款法的核心计算公式包括本金余额、月利率和还款期限,通过这些因素可以计算出每月应还的本息总额。 房贷计算器是一个用于帮助购房者计算按揭贷款月供的工具,它通常包含以下几个关键功能: 1. 输入贷款...

    按揭贷款计算器“等额本息还款法”和“等额本金还款法”

    本文将详细解析一个使用C# 2.0编写的按揭贷款计算器,该计算器实现了两种常见的还款方式:等额本息还款法和等额本金还款法。这两种还款方式在房地产市场中广泛应用于个人按揭贷款。 首先,我们要理解什么是按揭贷款...

    等额本息逆推利率java算法

    等额本息逆推利率java算法,可以逆推出利率 * @param Principal 本金 * @param MonthlyPayments 月还款额 * @param Period 期数 * @param Iterations 运算次数 * @param Digit 保留位数 * @return 利率

    Python实现的房贷还款对比分析器,对比等额本金、等额本息两种还款方式那种更适合自己

    等额本息还款法(也称为固定支付法)则是每月偿还相同金额的贷款,这个金额包括本金和利息。由于利息随着本金的减少而逐渐减少,因此初期还款中的大部分是利息,后期本金比例逐渐增加。 Python作为一门功能强大的...

    等额(本金本息)算法(文件后缀丢失,下载自行修改名称为xxx.doc 后点击查看)

    【等额本息与等额本金算法】 在金融领域,特别是P2P网贷平台中,贷款还款方式主要有两种:等额本息和等额本金。这两种还款方式在计算借款人每月应还款项时有所不同,但都是为了确保在贷款期限内逐步偿还本金和利息...

    【精品小工具】等额本息查看器

    等额本息还款方式是常见的一种贷款偿还方式,它指的是借款人每月按照固定金额偿还贷款,这个金额包括本金和利息,使得每个月的还款负担相对均衡。这款查看器可以帮助用户更直观地理解并规划自己的还款计划。 该工具...

    等额本息法房贷计算器

    该压缩包包含的文件“等额本息房贷计算器.exe”很可能是一个已经编译好的可执行程序,用户可以直接运行,输入贷款金额、贷款年限、年利率等信息,程序会自动计算出每月的还款额。这对于购房人来说非常实用,可以提前...

    C# 分期付款算法(包涵等额本息和等额本金)

    在C#代码实现时,可以创建一个类`LoanCalculator`,包含两个静态方法`CalculateEqualInstallment`和`CalculateEqualPrincipal`分别对应等额本息和等额本金的计算。类内部可以封装上述逻辑,提供友好的接口供其他代码...

    java等额本金本息

    等额本息还款法(Equal Installment Method)则是指每月偿还固定金额的本金和利息之和,使得每月还款额保持不变。利息随着本金的逐渐归还而减少,但每月的还款总额固定,方便预算管理。 在Java中实现这两种算法,...

    贷款计算器,支持等额本息、等额本金计算

    在贷款计算器中,开发者可能使用C#编写了业务逻辑代码,处理等额本息和等额本金两种还款方式的计算。 3. **等额本息**:这种还款方式下,借款人每月偿还相同的金额,其中包括部分本金和剩余贷款利息。随着本金逐渐...

    最全房贷计算器 java 代码 含算法

    1. **等额本息还款法**:在这种方式下,借款人每月偿还相同数额的款项,其中包括部分本金和利息。计算公式为:M=P*[(r/12)*(1+r/12)^n]/[(1+r/12)^n-1],其中M是每月应还金额,r是年利率除以12(月利率),n是贷款...

    java实现的银行利息结算

    在金融领域,等额本息还款方式是一种常见的贷款偿还方式,尤其在房屋按揭贷款中广泛应用。...通过这样的实践,我们可以更好地理解和掌握等额本息还款方式的计算逻辑,以及如何利用编程技术解决实际问题。

    用html+js实现的等额本息贷款月供计算器

    等额本息贷款月供计算器是一种在线工具,用于帮助用户计算在采用等额本息还款方式下的贷款每月应还金额。等额本息是指在整个还款期内,借款人每月偿还相同数额的本金和利息(但每个月的利息会随着本金的减少而逐渐...

    C#实现银行贷款利息算法

    在C#编程语言中,我们可以构建一个等额本息还款的算法来模拟银行的贷款计算过程。等额本息还款法是贷款最常见的还款方式之一,它的特点是每月还款金额固定,包括一部分本金和一部分利息。 等额本息计算公式主要包括...

    两种贷款方式的比较.docx

    这篇文档主要讨论了两种常见的贷款还款方式——等额本息还款和等额本金还款,并通过数学公式和实际案例进行了深入的比较。 1. **等额本金还款方式** 等额本金还款的特点是每期(通常按月)偿还的本金金额固定,而...

    住房与房屋贷款的问题

    例如,对于收入较低的家庭,可能更适合选择月供较低的等额本息还款法,而收入较高的家庭则可能更倾向于等额本金,以减少总的利息支出。 提前还贷的决策通常涉及递推算法,这是一种处理序列问题的有效方法。在Matlab...

    Android——本息计算器

    例如,等额本息还款法的月供计算公式为:M=P*r*(1+r)^n/[(1+r)^n-1],其中M是月供,P是贷款本金,r是月利率,n是还款期数。 4. 回调函数与事件监听:当用户点击计算按钮时,应用需要响应这一事件并执行计算逻辑。这...

    app1_matlab_房贷计算器_

    它集成了等额本金、等额本息以及公积金等多种房贷还款方式的计算功能。 【描述】:该MATLAB GUI(图形用户界面)设计的房贷计算器是一个实用工具,旨在帮助用户理解并计算不同类型的房贷还款计划。GUI界面友好,...

    买房按揭计算器

    《买房按揭计算器》是一款简单实用的工具,主要用于计算购房时采用等额本息还款法和等额本金还款法的差异。这两种还款方式是房贷计算中的常见方式,各有其特点和适用人群。本文将深入探讨这两种还款方式以及买房按揭...

    等额本金matlab代码-3dRBFnodes:用于RBF计算的可变密度3-d节点

    等额本金matlab代码用于 RBF 计算的可变密度 3-d 节点 这是用于分布具有可变密度的节点(离散集)的 Matlab 例程的集合。 节点是从一系列具有可变元素数量的周期性 Riesz 最小化器或无理晶格中提取的。 这种集合的...

Global site tag (gtag.js) - Google Analytics