我正在使用 ScriptEngine 执行字符串中指定的计算。我尝试了一个简单的程序,如下所示:
public static void main(String[] args){
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
Float f;
try {
f = new Float(engine.eval("1340984972921+7200000").toString());
System.out.println(f.longValue()+"");
} catch (Exception e){}
}
这给出了 1340992126976 的输出,但正确答案是 1340992172921
这似乎适用于相当大的整数,但不适用于长值。我希望它们作为长值,因为它们是时间戳,我想这样使用它们。关于什么可以使这项工作的任何想法?
谢谢。