Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Формула из строки / 7 сообщений из 7, страница 1 из 1
27.10.2011, 12:11:50
    #37500441
Demer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула из строки
Есть переменные:
Код: plaintext
1.
2.
int x1 = 5;
int x2 = 9;
int x3 = 3;
Есть строка:
Код: plaintext
string formula = "x1 + x2 - x3";

Формула может меняться пользователем, поэтому записана как строка.
Но вопрос-то в этом и состоит - как выполнить эту формулу? =)

Дайте хотя бы направление.
...
Рейтинг: 0 / 0
27.10.2011, 12:18:58
    #37500463
Abstraction
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула из строки
Demer,

Названия переменных - сущность исходного кода. Текст введённой пользователем строки - сущность времени выполнения.
Я бы переводил формулу в полиз, заменяя на ходу названия переменных на установленные им значения. Вполне вероятно, что к .NET подобный инструмент уже прикручен.
...
Рейтинг: 0 / 0
27.10.2011, 12:32:52
    #37500488
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула из строки
Demerкак выполнить эту формулу?и показать юзеру результат?
может, просто отдать все это на клиента и сделат так, чтобы он это выполнил посредством js ?
...
Рейтинг: 0 / 0
27.10.2011, 12:42:38
    #37500508
Barlone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула из строки
...
Рейтинг: 0 / 0
27.10.2011, 13:06:24
    #37500549
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула из строки
Паганель...может, просто отдать все это на клиента и сделат так, чтобы он это выполнил посредством js ?
Ну да. Это - самое простое.
Barlone http://www.west-wind.com/presentations/dynamicCode/DynamicCode.htm
Много букв. Не осилил.
...
Рейтинг: 0 / 0
27.10.2011, 13:06:42
    #37500550
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула из строки
...
Рейтинг: 0 / 0
27.10.2011, 17:05:43
    #37501155
Demer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формула из строки
Мне подошло это:
Код: plaintext
1.
2.
        XPathExpression expr = XPathExpression.Compile("1+3*(2*5)");
        XmlDocument xdoc = new XmlDocument();
        double res = (double)xdoc.CreateNavigator().Evaluate(expr);
Отлично работает, как надо.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Формула из строки / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]