利用ScriptEngineManager实现字符串公式灵活计算

在开发中我们可能会遇到好多不固定的公式计算 如有时候我们需要将excel中大量的计算公式转换成java语言进行实现

如果说单纯的用java的基本方法实现计算 我们就需要的分析excel中的公式将其一一并转换成java代码 这样对我们开发人员来说工作量有点太大了 而且在转换过程中很可能会出错

下面就介绍一种简单的实现方法

我们知道js的eval()方法可以执行字符串的代码 而恰好jdk6增加了对脚本语言的支持 我们可以利用这个特性对计算实现简单化的处理 

下面举个例子

加入有个公式 

A+B*C 

A=1,B=2,C=3

我们可以将公式的A B C替换成数字 转换为 1+2*3 最后就可以得到结果了

 

接下来 我么就探讨下实现方法

直接以代吗的形式来写吧

public Double Calculation(String formula){
Double result=null;  //计算结果
ScriptEngineManager manager = new ScriptEngineManager();   //创建一个ScriptEngineManager对象
ScriptEngine engine = manager.getEngineByName("js");  //通过

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值