java 銀行貸款工具類

  • 2019 年 10 月 25 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/qq_32534855/article/details/101012091

等額本金
 /**       * 計算等額本金還款       *       * @param principal 貸款總額       * @param months    貸款期限       * @param rate      貸款利率       * @return       */      public static Kv calculateEqualPrincipal(double principal, int months, double rate) {          Kv kv = Kv.create();          double monthRate = rate / (100 * 12);//月利率          double prePrincipal = principal / months;//每月還款本金          double firstMonth = prePrincipal + principal * monthRate;//第一個月還款金額          double decreaseMonth = prePrincipal * monthRate;//每月利息遞減          double interest = (months + 1) * principal * monthRate / 2;//還款總利息          double totalMoney = principal + interest;//還款總額          kv.put("totalMoney",format(totalMoney));//還款總額          kv.put("principal",format(principal));//貸款總額          kv.put("interest",format(interest));//還款總利息          kv.put("firstMonth",format(firstMonth*10000));//首月還款金額          kv.put("decreaseMonth",format(decreaseMonth*10000));//每月遞減利息          kv.put("months",months);//還款期限          return kv;      }
等額本金
 /**       * 計算等額本息還款       *       * @param principal 貸款總額       * @param months    貸款期限       * @param rate      貸款利率       * @return       */      public static Kv calculateEqualPrincipalAndInterest(double principal, int months, double rate) {          Kv kv = Kv.create();          double monthRate = rate / (100 * 12);//月利率          double preLoan = (principal * monthRate * Math.pow((1 + monthRate), months)) / (Math.pow((1 + monthRate), months) - 1);//每月還款金額          double totalMoney = preLoan * months;//還款總額          double interest = totalMoney - principal;//還款總利息          kv.put("totalMoney",format(totalMoney));//還款總額          kv.put("principal",format(principal));//貸款總額          kv.put("interest",format(interest));//還款總利息          kv.put("preLoan",format(preLoan*10000));//每月還款金額          kv.put("months",months);//還款期限            return kv;      }