Russian Qt Forum
Ноябрь 24, 2024, 05:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QString с формулой  (Прочитано 4293 раз)
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« : Март 18, 2016, 12:33 »

подскажите, есть ли возможность выполнить записанную в QString формулу. Что-то типа:
QString aa="10/5+";
int bb=4;
int rezult=<aa><bb> - должно получиться 10/5+4
Заранее благодарен
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Март 18, 2016, 12:36 »

Сложить строку с числом или прямо выполнить?
По должно получить у вас первое, по смыслу, вроде бы, как второе Улыбающийся
Записан

mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #2 : Март 18, 2016, 13:25 »

идея такая: имеется несколько типов данных; каждый тип должен обсчитываться по-своему в зависимости от введенных в форму данных (1 тип, допустим, считается, как 5*на значение в поле формы "поле1", 2 тип, как "поле2"/(22-"поле3") и т. п. ). При этом числа в формулах расчетов могут иногда корректироваться (не 5 и 22 будет через месяц, а 6 и 21)
Хотелось бы хранить формулы в базе (типа "field2/(22-field3)) и использовать их для расчетов. Содержимое полей формы перевести в переменные-элементарно, а вот остальное...
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
Bepec
Гость
« Ответ #3 : Март 18, 2016, 13:58 »

По сути надо просто обработать строку, главное определить необходимые возможности, дабы не зависнуть в разработке этой Веселый
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #4 : Март 18, 2016, 14:12 »

чтоб не возиться с парсером математических выражений, можно заюзать QtScript например. хотя, если там элементарные расчеты (арифметические операции без скобок и функций), то руками довольно быстро будет.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #5 : Март 18, 2016, 14:45 »

ОК, всем спасибо, все понял
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 23.