Loading... JEP(Java表达式分析器) 近期项目中需要对PMML模型文件进行解析并传参运行结果,但给到的模型文件中参数含有表达式类型,无法直接进行传参。需要对表达式进行解析运算后再传值,所以找到该工具JEP。JEP是Java expression parser的简称,即java表达式分析器,JEP是一个用来转换和计算数学表达式的java库。通过这个程序包,用户可以以字符串的形式输入一个、任意的公式,然后快速地计算出结果。JEP支持用户自定义变量、常量和函数。包括许多常用的数学函数和常量。 pmml文件中的参数名:`[[area_error]-[worst_area]]+[[concave_points_error]/[worst_concave_points]]` 1. 引入依赖 ```xml <!--jep--> <dependency> <groupId>jep</groupId> <artifactId>jep</artifactId> <version>2.24</version> </dependency> ``` 2. 基础用法 ```java String expression = "50 + 50*k*(x-p)"; //构建JEP对象 JEP jep = new JEP(); //参数赋值 jep.addVariable("k", 1); jep.addVariable("x", 1); jep.addVariable("p", pro); try{ //解析表达式 jep.parseExpression(expression); //获取表达式的值 double result = jep.getValue(); }catch(Exception e){ e.printStackTrace(); } ``` © Allow specification reprint Support Appreciate the author AliPayWeChat Like 1 If you think my article is useful to you, please feel free to appreciate