Java
Java数学表达式计算(Expression Evaluator)
常见的表达式计算lib有:parsiiJEvalJEPLiteexprJaninoMathEval(1)parsii
Java代码String exp = "2 + (7-5) * 3.14159 * x + sin(0)";
// compile Scope scope = Scope.create(); Expression parsiiExpr = Parser.parse(exp); Variable var =
scope.getVariable("x"); var.setValue(X_V ALUE); // evaluate double result = parsiiExpr.evaluate();
System.out.println(result);//-> 2.0 (2)JEval
Java代码String exp = "2 + (7-5) * 3.14159 * #{x} + sin(0)"; // compile Evaluator jevalEvaluator = new Evaluator(); jevalEvaluator.setVariables(Collections.singletonMap("x", Double.toString(X_V ALUE))); // evaluate double result = Double.parseDouble(jevalEvaluator.evaluate(exp)); System.out.println(result);//-> 2.0 (3)JEPLite
Java代码String exp = "2 + (7-5) * 3.14159 * x + sin(0)";
// compile JEP jep = new JEP(); jep.addVariable("x",
X_V ALUE); jep.parseExpression(exp); DoubleStack jepStack = new DoubleStack(); // evaluate double result = jep.getValue(jepStack); System.out.println(result);//->
2.0