считываю строку
строка должна представлять число (int/double)
в качестве разделителя могут присутствовать оба разделителя(./,)
(пример: 123,123 == 123.123)
как проверить строку регулярным выражением, на то, что это число?
Вы не должны пользоваться регулярками для такой проверки. Хотя такая проверка была бы возможна, она будет слишком медленной и слишком сложной, а значит, подверженной ошибкам. Например, не так просто поймать максимальное число, которое всё ещё принадлежит типу double
.
Делайте так:
var russianCI = CultureInfo.GetCultureInfo("ru-RU");
if (double.TryParse("123,123", NumberStyles.Float, russianCI, out var v))
Console.WriteLine(v);
else
Console.WriteLine("Не число");
Разделитель зависит от выбранного языка (CultureInfo
): например, для русского функция будет ожидать число в формате с запятой, а для английского — с точкой.
bool result = Regex.IsMatch(input, "\d+[\.,]?\d*");
Возможно, стоит учесть еще мантиссу и знак перед числом.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне необходимо реализовать авторегистрицию на сайтеВо время регистрации отловил что на сервер уходят вот такие данные :
Доброго времени суток! Встал перед проблемой, есть таблица, 4 поля (Id,ParentId,Title,Created,Description) где ParentId является внешним ключом к самому Idшнику,...
Не смог найти в документации возможность запуска теста по имениПробовал запускать, используя TestFilter, но желаемого результат не получил
В приложении есть notifyIcon с contextmenu на нем, в нем пункты Свернуть и Выход