1.引入 Maven 坐标

    <!--公式计算--><dependency><groupId>org.apache.commons</groupId><artifactId>commons-jexl</artifactId><version>2.1.1</version></dependency>

2.直接上代码

public static void main(String[] args){// 公式字符串:(2+x)*(1+x)Map<String, Object> map = new HashMap<String, Object>();// map key是  公式中的 x  value 是x的值// map 中可以放多个值  y  z  之类map.put("x", "4.44");String formula = "(2+x)*(1+x)";String result = calculation(formula,map);System.out.println(result);// 计算结果保留两位小数BigDecimal bNum = new BigDecimal(result).setScale(2,BigDecimal.ROUND_HALF_DOWN);System.out.println(bNum.toString());
}// 计算的 方法
private static String calculation(String jexlExp, Map<String, Object> map){JexlEngine jexl = new JexlEngine();Expression expression = jexl.createExpression(jexlExp);JexlContext jc = new MapContext();for (String key : map.keySet()) {jc.set(key, map.get(key));}if (null == expression.evaluate(jc)) {return "";}return expression.evaluate(jc).toString();
}

java 实现 公式计算相关推荐

  1. 【Java】公式计算 | JEXL

    一.说明 1.业务中用到了公式计算 2.比如: 输入x + y * (1.2 - 1.003)* 1%,x,y为业务值 二.解决方案 1.引入pom <!--公式计算--> <dep ...

  2. 邻近分类算法---KNN(Java实现+公式计算例子)

    名词解释: KNN:K-Nearest-Neighbor K值最邻近 所以网上有好几种叫法:最近邻,邻近-其实都是指的KNN,其实按照翻译都对.KNN算法产生于1968年,是数据挖掘和数据分类技术中最 ...

  3. java excel公式计算_java poi读取excel公式,返回计算值(转) | 学步园

    http://blog.csdn.net/CYZERO/article/details/6573015 经测试,确实可以 1 package hrds.zpf.poi; 2 3  import org ...

  4. Java黑皮书课后题第4章:4.4(几何:六边形面积)六边形面积可以通过下面公式计算(s是边长) 编写程序,提示用户输入六边形的边长,然后显示它的面积

    4.4(几何:六边形面积)六边形面积可以通过下面公式计算(s是边长) 编写程序,提示用户输入六边形的边长,然后显示它的面积 题目 题目概述 运行示例 破题 代码 题目 题目概述 4.4(几何:六边形面 ...

  5. Java 仿 Excel 公式计算

    这是我自己写的一个 Java 仿 Excel 公式计算 工具,支持自定义公式 github:https://github.com/38680050/excel-formula-calculation ...

  6. Java黑皮书课后题第6章:6.35(几何:五边形的面积)五边形的面积可以用如下公式计算。编写一个方法,使用下面的方法头返回五边形面积。编写一个主方法,提示用户输入五边形的边,然后显示它的面积

    6.35(几何:五边形的面积)五边形的面积可以用如下公式计算.编写一个方法,使用下面的方法头返回五边形面积.编写一个主方法,提示用户输入五边形的边,然后显示它的面积 题目 题目描述与运行示例 破题 代 ...

  7. Java *2.20(金融应用程序:计算利息)如果知道余额和年利率百分比,就可以使用下面的公式计算下个月的利息:利息 = 余额 * (年利率百分比 / 1200)

    编写程序,读取余额和年利率百分比,打印下个月的利息.下面是一个运行示例: Enter balance and interest rate (e.g.,3 for 3%):1000 3.5 The in ...

  8. 【java表达式引擎】一、汇总目前开源的公式计算开源库

    java表达式引擎 前言 一.Fin-Expr 二.Expr4J 三.exp4j 四.Aviator VIATOR--轻量级JAVA表达式求值引擎 五. BeanShell 六.脚本语言 Ognl.M ...

  9. JAVA 向带有公式的excel写入数据,获取公式计算结果

    JAVA 向带有公式的excel写入数据,获取公式计算结果 public static void main(String[] args) throws Exception {String url = ...

最新文章

  1. java svn插件_Eclipse安装SVN插件
  2. linux函数实验报告,linux实验报告
  3. 凝血酶分子机器人_了不得!这个机器人可以拟制癌细胞生长
  4. HoloLens开发手记 - 使用HoloLens模拟器 Using HoloLens emulator
  5. 执行 Python 程序的三种方式及Python 的 IDE —— `PyCharm`
  6. 【不积跬步,无以致千里】五个常用的Linux监控脚本代码
  7. Web前端第三季(JavaScript):十一:第3章: 字符串和对象:309-如何创建对象+310-如何创建构造函数+311-给对象添加普通函数和对象属性的遍历
  8. 关于mysql卸载不干净
  9. Linux PTP IEEE1588使用
  10. Tyvj 1728 普通平衡树
  11. My Eighty-second Page - 打家劫舍Ⅱ - By Nicolas
  12. 华硕主板怎么进入bios
  13. fly.js 的二次封装
  14. 解决键盘模式(布局)的错误导致的部分键位失灵或异常(姑且这样描述问题吧)
  15. JavaScript进阶(四)
  16. MySQL8高级优化,持续更新......
  17. 【47.40%】【BZOJ 1875】[SDOI2009]HH去散步
  18. 2月编程语言排行榜谁还没有看?
  19. 2020南京大学软件工程考研上岸感想
  20. 桌面 计算机屏蔽,Win10家庭版如何禁止别人修改电脑桌面壁纸?

热门文章

  1. 分布式事务解决方案全解析
  2. 如何解决PDCA空转现象?
  3. RabbitMQ入门教程(十一):消息属性Properties
  4. go操作mysql(原生database/sql, sqlx库)GORM
  5. linux中jdk环境配置,安装MySQL,配置Hadoop伪分布式,配置hive环境
  6. 计算机网络隧道工程,隧道工程
  7. python连接SQL Server:Pymssql模块
  8. 图扑软件数字孪生海上风电 | 向海图强,奋楫争先
  9. 一晚上写出来的游戏 苹果也会推荐!
  10. 渡一教育公开课web前端开发JavaScript精英课学习笔记(二)变量类型,运算符