java月利率計算(等額本息貸款)


等額本息 每月還款計算公式:

每月本息金額 = (本金×月利率×(1+月利率)^還款月數)÷ ((1+月利率)^還款月數-1))

反轉求出 月利率

月利率 如果根據上面公式反轉是算不出來的。

下面給出一種計算方式具體是試出來的,從1開始 一次減少0.1,,減到0.1后,每次再減少,0.01 

public class NiTui {


    /**
     * 
     * rate:(這里用一句話描述這個方法的作用). <br/>
     * TODO(這里描述這個方法適用條件 – 可選).<br/>
     * TODO(這里描述這個方法的執行流程 – 可選).<br/>
     * TODO(這里描述這個方法的使用方法 – 可選).<br/>
     * TODO(這里描述這個方法的注意事項 – 可選).<br/>
     * */
    public static double rate(double a, double b, double c, int cnt, int ina) {
        double rate = 1, x, jd = 0.1, side = 0.1, i = 1;
        do {
            x = a / b - (Math.pow(1 + rate, c) - 1) / (Math.pow(rate + 1, c) * rate);
            if (x * side > 0) {
                side = -side;
                jd *= 10;
            }
            rate += side / jd;
        } while (i++ < cnt && Math.abs(x) >= 1 / Math.pow(10, ina));
//        if (i > cnt)
//            return Double.NaN;
        return rate;
    }


    public static void main(String agrs[]) {
        {
            // Double 現值 = 7944760.00d;
            // Double 年金 = 186627.21d;
            // Double 期數 = 48d;


            // 計算200次,比Excel20次要精確,誤差精確到小數點后10位
            System.out.println(rate(150000, 6000, 36, 2111, 10));
        }


    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM