我使用java scriptengine来评估我拥有的字符串的数学。
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;
}
}
我收到错误“required:java.lang.Double,found:java.lang.Object”我需要转换engine.eval(funktion);成双,但如何?!?!?!?
请描述一下非常新的编程方式。
提前感谢。
答案 0 :(得分:1)
您可以在对象上调用toString()
方法并从中创建double
:
tempDouble = Double.parseDouble(engine.eval(funktion).toString());