Есть способ проверить двойное число в текущей культуре? Я попытался это:Подтвердить двойной номер в текущей культуре
var number ="10,10";
double value = double.Parse(number,
NumberStyles.Float,
CultureInfo.CurrentCulture);
Если я пытаюсь это с «ES-ES» (где десятичный разделитель «»), то парсинг работает отлично, я получил двойную 10.10
, но если я пытаюсь с «ан -US "(где десятичный разделитель -". ") Синтаксический анализ не может понять десятичную точку, поэтому просто опустите его, поэтому я получаю неправильный номер 1010
.
Есть ли способ получить исключение, когда я попытался преобразовать неправильный номер для указанной культуры?
Edit: с помощью «» Я не имею в виду тысячи сепаратором, я имею в виду десятичный разделитель для некоторых культур, таких как ES-ES
Нет, поскольку вы должны знать значение '' 10,10 "'. Таким образом, вы должны полагаться на «CurrentCulture» или знать, что изначально использовалось. –
Я знаю, что такое CurrentCulture в использовании, но прибегнув к правильному форматированию, я вставляю неправильный, я не должен был бросать одну культуру в другую, я просто хочу, чтобы ошибка всплывала, а не неудачно конверсия – Balder
Как насчет double.TryParse? – gyosifov