使用 'ScriptEngine' 计算公式而不丢失任何精度
Use 'ScriptEngine' to calculate formula without losing any precision
ScriptEngine
的计算能没有精度损失吗?我用它来计算 java 中的 +
、-
和 *
。
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine engine = sem.getEngineByExtension("js");
String calFormula = "5.08*8.99+3.23*4.221";
Object obj = engine.eval(calFormula);
什么returns就是一个Double
。我想要 BigDecimal
.
这样的东西
还是必须自己实现?
不,您不必自己实施。
只需要选择另一种脚本语言,因为 JavaScript 在 double
中完成所有数学运算。
Groovy 默认为 BigDecimal
,这样看起来更合适。
ScriptEngine
的计算能没有精度损失吗?我用它来计算 java 中的 +
、-
和 *
。
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine engine = sem.getEngineByExtension("js");
String calFormula = "5.08*8.99+3.23*4.221";
Object obj = engine.eval(calFormula);
什么returns就是一个Double
。我想要 BigDecimal
.
还是必须自己实现?
不,您不必自己实施。
只需要选择另一种脚本语言,因为 JavaScript 在 double
中完成所有数学运算。
Groovy 默认为 BigDecimal
,这样看起来更合适。