Парсинг строки с математическими операциями?

Прошу подкинуть идей как правильно можно реализовать калькулятор.
Нужно подсчитывать строки по типу "(5.2+7)*(12.6/6)-3" в соответствии с приоритетом всех мат. операций и скобок
Сейчас это сделано что берёт выражение из скобок "5.2+7" приводится в 2 списка [5.2,7] и ["+"], производится подсчёт и вставляется в исходную строку вместо скобок -> "12,2*(12.6/6)-3" и по кругу, как можно это оптимизировать, хотелось бы чтоб строка "5.2+7" приводилась в массив ["5.2","+","7" ], но не получается собрать для этого регулярку
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
Нельзя использовать регулярки для создания калькулятора (проверено на собственном опыте)
Смотрите на Обратную польскую запись для вычислений и на алгоритм сортировочной станции для разбора инфиксной записи
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы