использование формулы из QString для вычисления в double
У меня есть некая функция, записанная в строке:
QString str="29+13-1"
Мне бы хотелось использовать её для вычисления, а так как я пришёл из питона, то решил, что всё очень просто и написал
double number;
number=mainstring.toDouble();
и получил
number=0;
а хотел бы, чтобы Qt принял это как
number=29+13-1;
и вывел ответом
number=41;
Объясните, как такое сделать.
Ответы (1 шт):
Благодаря коментария Alexander Chernin я смогл это сделать. Решение использовать QtScript а именно QScriptEngine отлично работает. Единственное что я бы хотел уточнить перед тем как ругаться что у вас не получается выполнить
#include <QtScript/QScriptEngine>
как это делал я(ругался), удостоверьтесь что у вас в .pro файле прописано
QT+=script
А самое главное что при установке Qt вы установили этот самый пакет QtScript если же нет то MaintenanceTool вам в помощь. Учтите что если вы пользовались оффлайн установщиком то вам придётся либо искать где скачать и как установить пакет вручную, либо переустонавливать Qt.
Ещё раз спасибо Alexander Chernin за его наводку на stackoverflow.com/a/35416704/4711135.