Я хотел бы оценить математическую формулу, используя QJSEngine, без написания 'Math.'перед ним.
QJSEngine *myEngine=new QJSEngine;
QJSValue example =myEngine->evaluate("Math.sin(45)"); // works
QJSValue example2 =myEngine->evaluate("sin(45)"); //doesn't work
double val= example.toNumber();
double val2=example2.toNumber();
Я нашел обходной путь, который заключается в манипулировании QString до его оценки:
QString expression = "sin(45)";
QJSEngine *myEngine=new QJSEngine;
QJSValue example =myEngine->evaluate(expression); //doesn't work
expression.replace("sin","Math.sin");
QJSValue example2 =myEngine->evaluate(expression); //works
double val= example.toNumber();
double val2=example2.toNumber();
Если кто-то знает подход, который позволяет автоматическую оценку формул,это будет высоко ценится!