我使用下面的代码来制作我的 scriptEngine。在我尝试进行包含双精度的计算之前,它工作得很好。下面的代码应该返回 30 而不是返回 5。我做错了什么还是 scriptEngine 不能做双打?
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);