业务是这样的:
规则部分,数据库存了一个字符换
例如:5>x && x>1
进行计算的时候,将x替换成业务数值。判断此等式是否成立。如果成立。会用此规则后面的调节费率进行计算。
在 Java 中计算字符串数值表达式可以用 javax.script.ScriptEngine#eval(java.lang.String)
https://blog.csdn.net/u013360850/article/details/82049219
不知道为什么你要对一个字符串类型的关系式做判断,在我看来你需要的是封装一个方法来帮你做判断。
例如
public boolean establish(int x){
return 5>x && x>1;
}
如果只是判断数字,建议直接用int去判断,简单明了
业务判断的时候,先定义一个变量,将 x 转换为 Interger ,然后进行判断:
Integer temp = Integer.parseInt(x);
if(temp!=null && 5>temp && x>temp ) {
//TODO
}
1."5".compareTo(x) > 0 && x.compareTo("1" > 0)
2.也可以把x转成数字,注意是否有double
注意空指针
学到了,还可以用js引擎进行字符串数学表达式计算。