С# переменная культурная строка в инвариантную культурную двойную ⇐ C#
-
Anonymous
С# переменная культурная строка в инвариантную культурную двойную
Я нашел много вопросов по этой теме, но не смог найти ни одного, который бы касался моего случая.
Для входных данных string, которые могут быть или не быть реальным числом неизвестной культуры, как я могу попытаться привести его к двойному значению с помощью CultureInfo.InvariantCulture ?
Можно ли решить эту проблему для особого случая, когда десятичный разделитель может быть '.' или ',' с помощью какого-то умного алгоритма, сравнивающего проанализированные значения?
частный двойной? tryGetDouble (строковый ввод) { if (double.TryParse(input, NumberStyles.Number | NumberStyles.AllowExComponent, CultureInfo.InvariantCulture, out двойной результат)) { // Это будет работать для «1,25», но «1,25» будет преобразовано в 125. вернуть результат; } вернуть ноль; } Я думал что-то вроде: проанализировать строку с помощью '.' и культуру ',' и выносим вердикт на основе сравнения проанализированного числа в обоих случаях.
Я нашел много вопросов по этой теме, но не смог найти ни одного, который бы касался моего случая.
Для входных данных string, которые могут быть или не быть реальным числом неизвестной культуры, как я могу попытаться привести его к двойному значению с помощью CultureInfo.InvariantCulture ?
Можно ли решить эту проблему для особого случая, когда десятичный разделитель может быть '.' или ',' с помощью какого-то умного алгоритма, сравнивающего проанализированные значения?
частный двойной? tryGetDouble (строковый ввод) { if (double.TryParse(input, NumberStyles.Number | NumberStyles.AllowExComponent, CultureInfo.InvariantCulture, out двойной результат)) { // Это будет работать для «1,25», но «1,25» будет преобразовано в 125. вернуть результат; } вернуть ноль; } Я думал что-то вроде: проанализировать строку с помощью '.' и культуру ',' и выносим вердикт на основе сравнения проанализированного числа в обоих случаях.
Мобильная версия