读书人

Java务实际利率之Excel函数RATE

发布时间: 2012-07-25 09:43:05 作者: rapoo

Java求实际利率之Excel函数RATE

????? 在excel里有个函数RATE是求实际利率的,在网上搜罗了半年,公式倒是找到不少,可以没有一个实现的算法,郁闷,自己研究,写一个出来,做个备忘

?

?

公式:
Java务实际利率之Excel函数RATE

上面的太复杂,来个简单的:
Java务实际利率之Excel函数RATE

使用JAVA求实际利率

    /**     * 实际利率法     * @author Bean(mailto:mailxbs@126.com)     * @param a 现值     * @param b 年金     * @param c 期数     * @param cnt 运算次数     * @param ina 误差位数     * @return 利率     */    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(现值,年金,期数,200,10));    }    }

?计算输出0.00501013209570014,与Excel的0.00501013309186311很接近了,偷乐一下

读书人网 >行业软件

热点推荐