基本运算
String a ="5*2-5";
三目运算
String b ="5*2-10==0?1:0";
调用下面的方法就能得到结果
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import java.math.BigDecimal;
//JAVA和JS交互运算,字符串运算
public class JsData {
//String字符串运算
public static BigDecimal getBigcimal(String evalData) throws ScriptException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
Object result = null;
result = engine.eval(evalData);
return new BigDecimal(result.toString());
}
}
还有种方法 通过mybatis 计算,但是不支持三目运算。