[转]Java求实际利率之Excel函数RATE
在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 ));
- }
- }
/*** 实际利率法* @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很接近了,偷乐一下
[转]Java求实际利率之Excel函数RATE相关推荐
- Java求实际利率之Excel函数RATE
在excel里有个函数RATE是求实际利率的,在网上搜罗了半年,公式倒是找到不少,可以没有一个实现的算法,郁闷,自己研究,写一个出来,做个备忘 公式: 上面的太复杂,来个简单的: 使用JAVA求实际利 ...
- java中rate,Java务实际利率之Excel函数RATE
Java求实际利率之Excel函数RATE 在excel里有个函数RATE是求实际利率的,在网上搜罗了半年,公式倒是找到不少,可以没有一个实现的算法,郁闷,自己研究,写一个出来,做个备忘 公式: 上面 ...
- Java求最小数用哪个函数_在Java中使用小数进行计算的函数
例如,当您键入22和56时,此代码可以正常工作,它显示正确的结果 import java.util.Scanner; class apples{ public static void main(Str ...
- 计算机二级考试中Excel函数如何应用,计算机二级考试excle常用函数【计算机二级ms office中excel中必考函数有哪些?】...
计算机二级excel主要函数的用法 AVERAGE 求出所有参数的术平均值. 数据计算 COLUMN 显示所引用单元格的列标号值. 显示位置 CONCATENATE 将多个字符文本或单元格中的数据连接 ...
- 计算机最大数最小数的函数,Excel函数教程: 求最大、最小、中间数、最多数-excel技巧-电脑技巧收藏家...
Excel函数教程: 求最大.最小.中间数.最多数 四.一组用于求数据集的满足不同要求的数值的函数 1.求数据集的最大值MAX与最小值MIN 这两个函数MAX.MIN就是用来求解数据集的极值(即最大值 ...
- Java 题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n
Java 题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+-+1/n,当输入n为奇数时,调用函数1/1+1/3+-+1/n public class Test {public void ...
- c语言用average函数计算平均成绩,在excel中-Excel中,求平均值用Average函数;它可分用快捷键求平均值...
在 Excel 中,求平均值用Average函数:它可分用快捷键求平均值.自动求平均值和输入公式求平均值,其中用快捷键求平均值速度最快,并且三种方法都可以对行列.任意单元格.指定区域甚至整个表格求平均 ...
- 函数计算机求立方根,(在excel中如何求立方根值)excel中立方根公式
怎么在EXCEL2007里输入立方根? 打开Microsoft Word,菜单-插入中有一个域,点选域-点选EQ-点选R公式编辑器,找到根号公式,写好后再copy到excel里面,不过copy过去的十 ...
- 计算机公式求时间差公式,(EXCEL怎么算时间差?函数。)excle函数差怎么算
怎样在Excel上求差?求差的公式是?? 1鼠击结果的单元格: 2.用鼠标点击顶部输入的"=",输入栏会自动"=": 3.用鼠标点击被,输入栏会自动显示被减数单 ...
最新文章
- 【踩坑之路】CentOS 下 LNMN 环境配置
- 目录:SpringBoot学习目录
- 鸿蒙杀戮手机电脑版,鸿蒙杀戮单职业最新版
- 对微型计算机工作影响最小的因数是,(已)保护试题9
- 重磅!!!微软发布.NET Core 2.2
- python怎么读中文-python读取中文txt文本的方法
- C# 使用同余代换简化多个大数相乘取模运算
- NavigateUr l动态参数 格式化参数
- 理解Python中的with…as…语法
- [转载] 解决AndroidStudio连不上Android设备真机的问题
- 使用开放的showapi接口小技巧
- HC05蓝牙模块配对
- Postgresql杂谈 10—Postgresql中的分区表
- css中zoom的用法
- 阿里云大数据ACP(一)大数据开发平台 DataWorks
- 日照华软游戏开发价格_棋牌游戏开发价格预算需要多少钱?
- 运筹学 知识点总结 (七)
- linux ps -ef和ps -fu,linux ps命令详解
- 在使用 bitvise SSH client时,进行隧道S2C端口映射时,远程主机外网不能访问问题。
- Oracle undo 介绍
热门文章
- 电视不正常Android镜像投屏,乐播投屏
- Verilog中generate语法和作用
- 2020年12月六级作文Why students should be encouraged to develop the ability to meet challenges.
- 液晶弹性自由能计算_加州理工学院白若冰博士、Bhattacharya教授:光敏液晶弹性体中的光-力耦合...
- HR的难又有谁懂?裁过1000人,被爆粗恐吓,进过派出所!
- php彩色教程,Photoshop简单制作立体彩色炫图
- DHT11温湿度传感器编程详解
- Eclipse显示空白符号的具体设置
- 人力hr管理软件的主要模块有哪些?
- python教程学习