介绍一个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)")
他给我们提供了很多功能:
如果觉得不够,还可以自己写运算方法,要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")