Java内でEVALを使用する必要があり、その中で四則演算をするプログラムを書いています。少数点以下の少数桁数6桁までを正確に計算したいのですが、試してみたところたったの小数点1桁でも以下のように計算結果が合わず、困っています。 public class EvalTest { public static void main (String args[]) { javax.script.ScriptEngineManager manager = null; javax.script.ScriptEngine engine = null; if(engine == null) { manager = new javax.script.ScriptEngineManager(); engine = manager.getEngineByName("js"); } String str = ""; try { str = engine.eval("100.1*100.1").toString(); } catch (javax.script.ScriptException e) { e.printStackTrace(); } System.out.println(str); } } 出力結果:10020.009999999998 期待する結果:10020.01 なんとかEVALでもう少し正確な値を計算することは出来ないでしょうか。
↧