您的位置:首页 > Web前端 > JavaScript

java通过javascript引擎调用javascript数学函数实现计算

2018-06-07 14:36 911 查看
/**
* java通过javascript引擎调用javascript数学函数实现计算
* 通过字符串格式的公式获取公式值
*
* @param inputFormula
* @return
*/
public static String retCalculatedValueFromString(String inputFormula) {
ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript");
String str = "0";
String formula = new String(inputFormula);
try {
if (StringisNotEmpty(formula)) {
formula = formula.replaceAll("--", "+");
formula = formula.replaceAll("\\+\\+", "+");
//计算
String tmp = retAString(jse.eval(formula));
if (!"NaN".equals(tmp) && !"Infinity".equals(tmp) && !"-Infinity".equals(tmp)) {
BigDecimal db = new BigDecimal(tmp);// 消除科学计数法
str = db.toPlainString();
}
}
} catch (ScriptException e) {
System.out.println("There is a problem with the formula format! formula:" + formula);
e.printStackTrace();
}
return str;
}


利用Chrome浏览器调用javascript引擎进行调试:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数学函数