我正在使用Java脚本引擎来评估我拥有的字符串的数学运算。

import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;

public class GraphYPosAlg
{
  public static double YPos(String funktion) {
    Double tempDouble;
    ScriptEngineManager StringToInt = new ScriptEngineManager();
    ScriptEngine engine = StringToInt.getEngineByName("JavaScript");
    tempDouble = engine.eval(funktion);
    return tempDouble;
  }
}


我收到错误消息“必填:java.lang.Double,找到:java.lang.Object”,我需要转换engine.eval(funktion);变成双但如何?!?!!?!?

请描述很多即时编程新知识。

提前致谢。

最佳答案

您可以在对象上调用toString()方法并从中创建double

tempDouble = Double.parseDouble(engine.eval(funktion).toString());

10-06 10:38