利用“計算器”和公式做房貸計算


等額本息公式還是挺復雜的,忽然想起以前寫了一個“計算器”,因而就想順手把房貸利息計算給做了,還加上了提供月供計算利率的功能。

 

下圖就是計算器的界面,支持:進制轉換、四則運算、常用函數

image

 

下圖就是房貸公式

 

有了以上兩個工具,等額本息就比較簡單了,等額本金則更為簡單。

變量定義:A借款本金,B月利率,M期數,X月供;

月供計算:使用了臨時變量T=(1+B)^M,然后再計算月供X=A*(B*T)/(T-1)

利息計算:由於難以反推B月利率的計算公式,因此使用了直觀的反復試錯法,即多次計算月供直到結果與提供的月供極為接近,此時的B月利率就非常接近真實值

String T; // (1+B)^M
if(StringUtil.hasLength(B)) {
    T = NumberUtil.parseExp("(1+"+B+")^"+M);
    X = NumberUtil.parseExp(A+"*("+B+"*"+T+")/("+T+"-1)");
}else {
    double BL = 0.000001, BH = 0.999999, BT = 0.0, XT = Double.parseDouble(X), XI = 0.0;
    if(XT*Integer.parseInt(M) < Double.parseDouble(A)) return null; //不夠本金,何談利息
    do {
        BT = (BL+BH)/2.0; //尋找B月利率
        T = NumberUtil.parseExp("(1+"+BT+")^"+M);
        XI = Double.parseDouble(NumberUtil.parseExp(A+"*("+BT+"*"+T+")/("+T+"-1)"));
        if(Math.abs(XI-XT)<0.1) break;  //1毛以內即可接受結果
        if(XI>XT) BH = BT;
        else BL = BT;
    }while(true);
}

房貸計算接口

 


免責聲明!

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



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