我的程序需要一个字符串输入并使用ScriptEngine导入中的engine.eval()
进行计算。如何将评估值转换为int类型?如何将类型Object从engine.eval转换为类型int
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Main {
public static void main(String[] args) {
String s = "206 + 4";
Object eval;
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine eng = mgr.getEngineByName("JavaScript");
try {
eval = eng.eval(s);
} catch (ScriptException e) {
System.out.println("Error evaluating input string.");
}
//Convert Object eval to int sum
}
}
我还有一个问题是出于好奇。假设我想转换为输入long。这将如何实现? – 2013-05-07 10:26:08
这就是'BigDecimal'赢家的地方。使用'longValue()'而不是'intValue'。 – SudoRahul 2013-05-07 11:30:05