java公式计算

介绍一个java的公式计算工具:【JEVAL】

 

这是个开源项目,主页 http://jeval.sourceforge.net/

 

主要用于实现计算字符串公式的值,例如excel公式那样。

 

首先创建计算对象:

 

 

 

Evaluator eval = new Evaluator();

 

然后计算:

 

 

eval.evaluate("3*3-3/(3-5)")
eval.evaluate("6 / 5")
eval.evaluate("3 % 8")
eval.evaluate("((5 * 7) * -7) * 3 + cos(30)")
eval.evaluate("((4 + 3) * -7) * 3 + floor(33)")

 

他给我们提供了很多功能:

 

 

 计算
abs ,acos ,asin ,atan ,atan2 ,ceil ,cos ,exp ,floor ,log ,max ,min ,pow ,random ,rint ,round ,sin ,sqrt ,tan

 

 

如果觉得不够,还可以自己写运算方法,要implements Function这个类就可以了。

 

 

 

当然,还可以在公式中设置变量:

 

 

 /* 添加变量到 Evaluator 类实例. */
   eva.putVariable("a", "313");
   eva.putVariable("b", "310");
   eva.putVariable("c", "105");
   eva.putVariable("d", "15");
   /* 输出变量. */
   System.out.println(eva.evaluate("#{a}"));
   System.out.println(eva.evaluate("#{b}"));
   System.out.println(eva.evaluate("#{c}"));
   System.out.println(eva.evaluate("#{d}"));
    /* 输出变量. */
 eva.evaluate("#{a}-(#{b}-#{c})*(6*#{d}/555)+662")
 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值