powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / regex. double в decimal
5 сообщений из 5, страница 1 из 1
regex. double в decimal
    #39036804
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.

Можно ли такое сделать с помощью регэкспов?

Имеется строки формата double: "23.23"
их нужно преобразовать в строки формата decimal: "23.23m"

Можно ли так ?
...
Рейтинг: 0 / 0
regex. double в decimal
    #39036810
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кааажется, что должно быть что то очень отдаленно похожее на это:

string pattern = @"((\d+)\.(\d+))";
string replacement = "$1";

как я понимаю, тут как раз нужно играться с группами как-то, но не очень понимаю как.
...
Рейтинг: 0 / 0
regex. double в decimal
    #39036813
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotek, 1 + 2 ?
...
Рейтинг: 0 / 0
regex. double в decimal
    #39036824
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кажется оно.
делаю.
спасибо
...
Рейтинг: 0 / 0
regex. double в decimal
    #39036845
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так работает:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
        private const string PatternForReplace = @"((\d+)[.,](\d+))";
        private Regex rgx = new Regex(PatternForReplace, RegexOptions.Compiled);
        private static CultureInfo cultureInfo = CultureInfo.CreateSpecificCulture("en-EN");
        private static NumberStyles numberStyles = NumberStyles.AllowDecimalPoint;

        private static string CapText(Match m)
        {
            var matchString = m.ToString().Replace(",",".");

            double dummy;
            if (double.TryParse(matchString, numberStyles, cultureInfo, out dummy))
                return matchString + "m";
            else
                return matchString;
        }



хотя лучше, как либо, бы обойтись без
Код: c#
1.
var matchString = m.ToString().Replace(",",".");
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / regex. double в decimal
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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