/*** 综合年利率工具类*/
public class ComprehensiveAnnualRateUtil {/*** 计算综合年利率*     计算公式 irr * loanTerm * 100 【100代表100%】* @param list 【第一个元素为本金的负数,后面为每期应还金额(本金+利息)】* @param loanTerm* @return*/public static String calaulate(List<String> list, int loanTerm) {/**    计算公式 irr * 期数 * 100 【100代表100%】*/double irr = new BigDecimal(calculator(list, loanTerm)).multiply(new BigDecimal(loanTerm)).multiply(new BigDecimal("100")).doubleValue();DecimalFormat df = new DecimalFormat("0.00");return df.format(Math.abs(irr));}private static double NPV(double r, List<String> netCash) {double npv = 0;if (netCash.size() != 0) {for (int count = 0; count < netCash.size(); count++) {npv += Double.valueOf(netCash.get(count).toString()) / Math.pow(1 + r, count);}return npv;}return Double.NaN;}/*** IRR函数* @author: wgc* @date: 2021年4月30日 下午5:04:50 * @param netCashArr* @param interval* @return*/private static double calculator(List<String> netCashArr, int interval) {double MINDIF = 0.001;int LOOPNUM = 2000;double irr = 0;double r1 = new BigDecimal("0.1").doubleValue();double r2 = new BigDecimal("0.09").doubleValue();double npv1 = NPV(r1, netCashArr);double npv2 = NPV(r2, netCashArr);int count = 0;while (Math.abs(npv2) > MINDIF & count < LOOPNUM) {irr = r2 - npv2 * (r2 - r1) / (npv2 - npv1);r1 = r2;r2 = irr;npv1 = npv2;npv2 = NPV(r2, netCashArr);count++;}if (Math.abs(npv2) < MINDIF & count <= LOOPNUM)return irr;elsereturn Double.NaN;}}

java代码实现Excel irr计算相关推荐

  1. java npv_java 实现Excel irr计算(改进版)

    import java.util.ArrayList; import java.util.List; public class IrrUtil { /**迭代次数*/ public static in ...

  2. 用java把excel数据导入oracle日期转换,Java代码兑现excel数据导入到Oracle

    Java代码实现excel数据导入到Oracle 1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误) 2.代码: import java.io.File; ...

  3. JAVA代码实现Excel下载,中文名称乱码问题

    #JAVA代码实现Excel下载,中文名称乱码问题 ##第一:检查乱码的服务器版本是否在代码中进行处理 ###处理方式: if(request.getHeader("user-Agent&q ...

  4. Java代码实现Excel表格导出

    Java代码实现Excel表格导出 public static ResponseEntity<byte[]> employee2Excel(List<Employee> lis ...

  5. java代码实现excel文件转换为csv文件

    java代码实现excel文件转换为csv文件 pom文件导入 <dependencies><dependency><groupId>org.springframe ...

  6. java JLabel改变大小后如何刷新_到底一行java代码是如何在计算机上执行的

    不知道你是否思考过,每次我们在IDEA中右键Run Application启动主方法,假如程序运行正常,控制台也打印出了你所要打印的信息,在这个过程中你知道这台计算机上那些硬件及其软件都是以什么样的方 ...

  7. java代码实现excel文件数据导入

    因业务需求要实现数据的批量导入,给了指定的excel模板上传文件,用java代码实现导入excel文件. 重新复习下. 下面是源码,仅供参考. controller层代码,创建临时目录后,使用Disk ...

  8. java 实现Excel irr计算(改进版)

    import java.util.ArrayList; import java.util.List; public class IrrUtil { /**迭代次数*/ public static in ...

  9. java代码将excel文件中的内容列表转换成JS文件输出

    思路分析 我们想要把excel文件中的内容转为其他形式的文件输出,肯定需要分两步走: 1.把excel文件中的内容读出来: 2.将内容写到新的文件中. 举例 一张excel表中有一个表格: 我们需要将 ...

  10. java代码读取excel文件_Java 读取excel 文件流代码实例

    这篇文章主要介绍了Java 读取excel 文件流代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 public static vo ...

最新文章

  1. 使用logon trigger完成动态的session跟踪
  2. xshell-6以及xftp-6家庭版,学校版免费下载(百度云盘)
  3. oracle 32位和64位的问题
  4. DL之YoloV2:Yolo V2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  5. 每天一道LeetCode-----链表插入排序
  6. mjpeg解码到rgb
  7. vector容器中添加和删除元素
  8. LLVM编写Pass对程序进行obfuscate
  9. 绫辻行人《杀人偶人馆》读后感
  10. echarts中折线图、柱状图之间的转换
  11. 进制为2的10次方的世界
  12. linux无人值守安装实验,无人值守批量安装linux操作系统
  13. NLTK学习之一:简单文本分析
  14. 高德h5地图api接口_H5,JS中使用微信、高德获取定位
  15. 1.8 faker简单应用
  16. Stm32 学习笔记(1)我所使用的板子
  17. 创业早期,如何高效“找钱”?
  18. 夜间(低光照)目标检测数据集整理:人脸检测,行人检测
  19. JAVA冒泡的介绍与使用
  20. adb interface找不到驱动程序_打印机驱动程序无法使用怎么办 打印机驱动安装方法【介绍】...

热门文章

  1. Git遇到Unable to create 'E:/xxx/.git/index.lock': File exists.的解决办法
  2. HTML中 常见的浏览器内核有哪些,主流浏览器的内核以及内核前缀是什么?
  3. Python必会内置函数
  4. Windows10自带应用的卸载和恢复
  5. java算法2——费氏数列
  6. 磁导航组成与基本原理
  7. JQuery超链接鼠标提示效果
  8. 怎样把孩子写的日记或作文制成电子版呢?
  9. Python代码 52周存钱计划
  10. Excel VBA自动填充公式