gpt4 book ai didi

Java ScriptEngine 添加 'long' 失败?

转载 作者:行者123 更新时间:2023-12-02 07:43:25 25 4
gpt4 key购买 nike

我正在使用 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

这似乎适用于相当大的整数,但不适用于长值。我希望它们是长值,因为它们是时间戳,我想这样使用它们。有什么想法可以让这项工作成功吗?

谢谢。

最佳答案

尝试将数据类型从Float更改为Double。我认为这是一个精度问题。

关于Java ScriptEngine 添加 'long' 失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11267222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com