Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2016, 19:01   #1
polsovatel
Пользователь
 
Регистрация: 21.09.2016
Сообщений: 13
По умолчанию Посчитать выражение в строке

Добрый вечер. Столкнулся с проблемой получаю строку , допустим "2 + 2 + 3". Подскажите пожалуйста как ее можно посчитать. Думаю парсить каждую цифру и дальше делать проверку на операторы и исходя из этого уже считать. Или может есть какая-нибудь функция как в Python eval?
polsovatel вне форума Ответить с цитированием
Старый 11.12.2016, 01:25   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от polsovatel Посмотреть сообщение
Или может есть какая-нибудь функция как в Python eval?
угу.
например, можно такой трюк применить - http://www.programmersforum.ru/showthread.php?t=262631 (через JScript)

а ещё можно так (скопировано со stackoverflow)
Код:
using System.Data;

DataTable dt = new DataTable();
var v = dt.Compute("3 * (2+4)","");
или так:
Код:
class Program
    {

        static void Main(string[] args)
        {
            Console.WriteLine(Evaluate("(4+8)*2"));
            Console.ReadKey();
        }

        public static double Evaluate(string expression)
        {
            DataTable table = new DataTable();
            table.Columns.Add("expression", typeof(string), expression);
            DataRow row = table.NewRow();
            table.Rows.Add(row);
            return double.Parse((string)row["expression"]);
        }

    }

а ещё можно взять специальную либу
многие рекомендуют брать именно http://ncalc.codeplex.com

Последний раз редактировалось Serge_Bliznykov; 11.12.2016 в 01:37.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal. Арифметическое выражение. Решить квадратное уравнение и посчитать выражение, используя вычисленные корни. dauletsergazin Паскаль, Turbo Pascal, PascalABC.NET 4 13.11.2017 11:55
Посчитать количество слов в строке Eamirus Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 16.01.2014 15:15
Посчитать выражение. Последние штрихи в программе. Язык Си Yakoff Помощь студентам 1 31.12.2012 04:59
Посчитать пробелы в строке [Danil777] Общие вопросы C/C++ 2 13.12.2010 22:19