参考jep官网:http://www.singularsys.com/jep/
Jep Java只用几行代码解析和评估数学表达式。此程序包允许您的用户输入公式作为字符串,并立即对其进行评估。Jep支持用户定义的变量,常量和函数。包括许多常见的数学函数和常数。 |
那么啰嗦,说白了就是支持自定义函数,传入数据,计算出结果,而且很快,精度自己定义.
代码演示:
<dependency><groupId>org.scijava</groupId><artifactId>jep</artifactId><version>2.4.2</version>
</dependency>
public static void main(String[] args) {//方式一/* //一个数学表达式JEP jep = new JEP();//给变量赋值String exp = "((a+b)*(c+b))/(c+a)/b";jep.addVariable("a", 16);jep.addVariable("b", 5);jep.addVariable("c", 66);try { //执行jep.parseExpression(exp);Object result = jep.getValue();System.out.println("计算结果: " + result);} catch (Exception e) {System.out.println("An error occured: " + e.getMessage());}*///方式二try {String exp = "((a+b)*(c+b))/(c+a)/b";JEP jep = new JEP();jep.addVariable("a", 16);jep.addVariable("b", 5);jep.addVariable("c", 66);Node parse = jep.parse(exp);Object evaluate = jep.evaluate(parse);System.out.println(evaluate);} catch (ParseException e) {e.printStackTrace();}}
计算结果:(计算器算了是对的.好了,jep没你事了).