Добавлен  Isstrebitel 
                            
                            
                            
                            
                            
                            
                        
                        
                    Проблема такая:
Существует в виде string арифметическое выражение. Я его не знаю, так как задаётся оно пользователем. Нужно вычислить его значение. Переменные не встречаются (вернее, встречаются, но я с этим разобрался и преобразовал их в той переменной в их значения). Нужно вычислить значение этого выражения.
Существует ли какой-нибудь быстрый способ это сделать? Написать то такое я смогу, только вот, может уже существует что-то подобное?
Существует в виде string арифметическое выражение. Я его не знаю, так как задаётся оно пользователем. Нужно вычислить его значение. Переменные не встречаются (вернее, встречаются, но я с этим разобрался и преобразовал их в той переменной в их значения). Нужно вычислить значение этого выражения.
Существует ли какой-нибудь быстрый способ это сделать? Написать то такое я смогу, только вот, может уже существует что-то подобное?
Принятый ответ
 prog, в JS есть функция из коробки 
var value = eval("2 + 3");
Я так в свою программу PositionMeter встроил редактор формул, основанный на интерпритации JavaScript
Isstrebitel, я собирался написать статью по созданию дерева выражений и вычислением его. Но могу вот что сказать:
Isstrebitel, я собирался написать статью по созданию дерева выражений и вычислением его. Но могу вот что сказать:
- Сперва надо распарсить на токены твое выражение (Константы, Идентификаторы, Управляющие символы, Операторы)
 - Дальше надо построить дерево выражения
 - Оптимизировать дерево выражений, вынести общие части в один узел (не обязательно)
 - И потом просто рекурсивно его посчитать
 
    
        
            
                `
            
            
                
        
    
    ОЖИДАНИЕ РЕКЛАМЫ...
            
                    
                        Чтобы оставить комментарий, пожалуйста, войдите на сайт.
                    
                
            
                                PROGRAMMS
                            

P.S. как по мне, то полезнее написать свое, в плане получаемого опыта.
Увлёкся описанием проблемы и забыл написать, на каком это языке.
Ред. prog
А так - библиотеки точно есть и на чистый шарп и на юньку, но простой парсер арифметики как по мне проще написать, чем искать в сети и настраивать.
Isstrebitel, я собирался написать статью по созданию дерева выражений и вычислением его. Но могу вот что сказать:
- Сперва надо распарсить на токены твое выражение (Константы, Идентификаторы, Управляющие символы, Операторы)
 
- Дальше надо построить дерево выражения
 
- Оптимизировать дерево выражений, вынести общие части в один узел (не обязательно)
 
- И потом просто рекурсивно его посчитать
 
И в шарпах есть возможность рантайм компиляции инлайн кода, можешь погуглить этот вариант тоже