lzhw1985 发表于 2013-1-29 09:20:19

利用ScriptEngine实现简单公式的计算

Javascript中的eval函数功能十分强大,可以执行字符串组成的代码,这是众人皆知的。
那么Java中如何实现这样的功能吗?用它吧——ScriptEngine!
Java 1.6提供了ScriptEngine接口,使得我们可以调用脚本引擎。
Java代码
public static boolean calcVP(String formula, double actVal) {
      ScriptEngineManager factory = new ScriptEngineManager();
      ScriptEngine engine = factory.getEngineByName("JavaScript");
      Object calcResult = null;
      try {
            calcResult = engine.eval(formula);
      }catch (ScriptException e) {
      // TODO: handle exception
      }
      if (calcResult != null) {
            double expVal = Double.parseDouble(calcResult.toString());
            return actVal == expVal ? true : false;
      }
      return false;
}
一个方法起到了一个class的作用,而且Javascript引擎支持什么运算我们就支持,厉害吧~ScriptEngine是个很有用的特性,多多研究加以利用可以节省很多项目成本。
页: [1]
查看完整版本: 利用ScriptEngine实现简单公式的计算