以下のコードを使用して scriptEngine を作成します。double を含む計算をしようとするまではうまくいきました。以下のコードは 30 を返すはずですが、代わりに 5 を返します。何か間違っているのでしょうか、それとも scriptEngine が double を実行できないのでしょうか?
String calculation = "20*1.5";
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
String s = engine.eval(calculation).toString();
System.out.println("Test: " + s);
double answer = Double.parseDouble(s);
System.out.println("Answer: \t" + answer);