2016-05-21 2 views
1

ScriptEngineの計算の精度は失われますか?私は+,-*をJavaで計算するために使っています。'ScriptEngine'を使用して精度を失うことなく数式を計算します

ScriptEngineManager sem = new ScriptEngineManager(); 
ScriptEngine engine = sem.getEngineByExtension("js"); 
String calFormula = "5.08*8.99+3.23*4.221"; 
Object obj = engine.eval(calFormula); 

返されるものはDoubleです。私はBigDecimalのようなものが欲しい。

これを自分で実装する必要がありますか?

答えて

1

いいえ、これを自分で実装する必要はありません。

JavaScriptはすべてdoubleで計算するため、別のスクリプト言語を選択するだけです。

GroovyのデフォルトはBigDecimalであるため、よりフィット感があります。

関連する問題