随笔 - 100  文章 - 50  trackbacks - 0
<2015年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

文章档案

收藏夹

我收藏的一些文章!

搜索

  •  

最新评论

阅读排行榜

评论排行榜

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

 

 

公式:

上面的太复杂,来个简单的:

使用JAVA求实际利率

Java代码  收藏代码
  1. /** 
  2.  * 实际利率法 
  3.  * @author Bean(mailto:mailxbs@126.com) 
  4.  * @param a 现值 
  5.  * @param b 年金 
  6.  * @param c 期数 
  7.  * @param cnt 运算次数 
  8.  * @param ina 误差位数 
  9.  * @return 利率 
  10.  */  
  11. public static double rate(double a,double b,double c,int cnt,int ina){  
  12.     double rate = 1,x,jd = 0.1,side = 0.1,i = 1;  
  13.     do{  
  14.         x = a/b - (Math.pow(1+rate, c)-1)/(Math.pow(rate+1, c)*rate);  
  15.         if(x*side>0){side = -side;jd *=10;}  
  16.         rate += side/jd;  
  17.     }while(i++<cnt&&Math.abs(x)>=1/Math.pow(10, ina));  
  18.     if(i>cnt)return Double.NaN;  
  19.     return rate;  
  20. }  
  21. public static void main(String agrs[]) {  
  22.     {  
  23.     Double 现值 = 7944760.00d;  
  24.     Double 年金 = 186627.21d;  
  25.     Double 期数 = 48d;  
  26.        
  27.     //计算200次,比Excel20次要精确,误差精确到小数点后10位  
  28.     System.out.println(rate(现值,年金,期数,200,10));  
  29.     }  
  30. }  
转: http://beanopen.iteye.com/blog/791878
posted on 2015-05-26 11:06 fly 阅读(276) 评论(0)  编辑  收藏 所属分类: java学习

只有注册用户登录后才能发表评论。


网站导航: