【问题标题】:ScriptEngineManager eval(..) returns abridged value while summing upScriptEngineManager eval(..) 在求和时返回删减值
【发布时间】:2020-02-14 09:54:24
【问题描述】:

我正在尝试使用 ScriptEngineManager 对两个值求和,但我得到的不是我需要的。

我需要总结 System.currentTimeMillis() 和一些 long 类型。

ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
mathEvaluationEngine = scriptEngineManager.getEngineByName("JavaScript");
String.valueOf(mathEvaluationEngine.eval(System.currentTimeMillis()+"+"+200000L));

例如,如果我尝试评估“1571316916817+200000L”,我希望得到类似“1571317116817”的结果,但我收到的不是“1.571317116817E12”。这个问题只适用于大数字,较小的数字工作得很好。我不想收到指数值

【问题讨论】:

    标签: javascript java nashorn


    【解决方案1】:

    我只是根据评估结果创建一个新的 BigDecimal 对象,它工作得很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-26
      • 1970-01-01
      • 2017-04-01
      • 2020-02-14
      • 1970-01-01
      • 2022-12-17
      相关资源
      最近更新 更多