package com.demo;
import java.math.BigDecimal;
/**
* 描述:房贷计算公式(repayment method)
* 等额本息还款法:(average capital plus interest)
* 每月月供额=〔贷款本金×月利率×(1+月利率)^还款月数〕÷〔(1+月利率)^还款月数-1〕
* 每月应还利息=贷款本金×月利率×〔(1+月利率)^还款月数-(1+月利率)^(还款月序号-1)〕÷〔(1+月利率)^还款月数-1〕
* 每月应还本金=贷款本金×月利率×(1+月利率)^(还款月序号-1)÷〔(1+月利率)^还款月数-1〕 总利息=还款月数×每月月供额-贷款本金
* <p>
* 等额本金还款法:(average capital ) 每月月供额=(贷款本金÷还款月数)+(贷款本金-已归还本金累计额)×月利率
* 每月应还本金=贷款本金÷还款月数
* 每月应还利息=剩余本金×月利率=(贷款本金-已归还本金累计额)×月利率
* 每月月供递减额=每月应还本金×月利率=贷款本金÷还款月数×月利率
* 总利息=〔(总贷款额÷还款月数+总贷款额×月利率)+总贷款额÷还款月数×(1+月利率)〕÷2×还款月数-总贷款额 说明:月利率=年利率÷12
* 15^4=15×15×15×15(15的4次方,即4个15相乘的意思)
* <p>
* 作者:Administrator on 2016/12/16 13:44 邮箱:androidit@yeah.net
* BigDecimal公式
* BigDecimal add(BigDecimal augend) 加法运算
* BigDecimal subtract(BigDecimal subtrahend)减法运算
* BigDecimal multiply(BigDecimal multiplicand)法运算
* BigDecimal divide(BigDecimal divisor) 除法运算
*/
public class RateUtils {
//等额本金 〔(总贷款额÷还款月数+总贷款额×月利率)+总贷款额÷还款月数×(1+月利率)〕÷2×还款月数-总贷款额
private BigDecimal computeDEBJTotalRate(BigDecimal monthlyPayment,BigDecimal mStrikeRate,Integer montyTotal){
BigDecimal montyNum = new BigDecimal(montyTotal);
BigDecimal strikeRate = mStrikeRate.divide(new BigDecimal(100 * 12), 6, BigDecimal.ROUND_HALF_UP);// 月利率,四舍五入精确到6位小数
BigDecimal
import java.math.BigDecimal;
/**
* 描述:房贷计算公式(repayment method)
* 等额本息还款法:(average capital plus interest)
* 每月月供额=〔贷款本金×月利率×(1+月利率)^还款月数〕÷〔(1+月利率)^还款月数-1〕
* 每月应还利息=贷款本金×月利率×〔(1+月利率)^还款月数-(1+月利率)^(还款月序号-1)〕÷〔(1+月利率)^还款月数-1〕
* 每月应还本金=贷款本金×月利率×(1+月利率)^(还款月序号-1)÷〔(1+月利率)^还款月数-1〕 总利息=还款月数×每月月供额-贷款本金
* <p>
* 等额本金还款法:(average capital ) 每月月供额=(贷款本金÷还款月数)+(贷款本金-已归还本金累计额)×月利率
* 每月应还本金=贷款本金÷还款月数
* 每月应还利息=剩余本金×月利率=(贷款本金-已归还本金累计额)×月利率
* 每月月供递减额=每月应还本金×月利率=贷款本金÷还款月数×月利率
* 总利息=〔(总贷款额÷还款月数+总贷款额×月利率)+总贷款额÷还款月数×(1+月利率)〕÷2×还款月数-总贷款额 说明:月利率=年利率÷12
* 15^4=15×15×15×15(15的4次方,即4个15相乘的意思)
* <p>
* 作者:Administrator on 2016/12/16 13:44 邮箱:androidit@yeah.net
* BigDecimal公式
* BigDecimal add(BigDecimal augend) 加法运算
* BigDecimal subtract(BigDecimal subtrahend)减法运算
* BigDecimal multiply(BigDecimal multiplicand)法运算
* BigDecimal divide(BigDecimal divisor) 除法运算
*/
public class RateUtils {
//等额本金 〔(总贷款额÷还款月数+总贷款额×月利率)+总贷款额÷还款月数×(1+月利率)〕÷2×还款月数-总贷款额
private BigDecimal computeDEBJTotalRate(BigDecimal monthlyPayment,BigDecimal mStrikeRate,Integer montyTotal){
BigDecimal montyNum = new BigDecimal(montyTotal);
BigDecimal strikeRate = mStrikeRate.divide(new BigDecimal(100 * 12), 6, BigDecimal.ROUND_HALF_UP);// 月利率,四舍五入精确到6位小数
BigDecimal