Когда я пытаюсь преобразовать строку в числовое значение с Parse или TryParse или Convert.ChangeType, я не могу управлять де замостить, как это определено в системе:Строка для ввода цифр преобразования и разделителя групп
если я ввожу:
var d = double.Parse("1,234", CultureInfo.CurrentUICulture);
он не возвращает 1234.
Если я хочу использовать разделитель группы, я должен набрать:
var d = double.Parse("1,234", NumberStyles.Number, CultureInfo.CurrentUICulture);
На этот раз результат - это то, что ожидалось.
Но я не хочу принуждать использование разделителя тысяч, я хочу использовать его только в том случае, если система указывает его в настройках глобализации. Есть ли способ узнать, если используется разделитель (я знаю, что я могу читать разделитель групп в CultureInfo.CurrentUICulture.NumberFormat.NumberGroupSeparator
)
Приветствия Лоик
Да, но на самом деле я хочу использовать функцию Convert.ChangeType, чтобы сделать общую строку для числового преобразователя и предоставить ее как расширение строки. Но Convert.ChangeType не имеет перегрузки с параметром NumberStyles. Он просто разрешает параметр IFormatProvider. И, кстати, я не понимаю, почему параметр Defaut для Parse не соответствует моим международным настройкам системы, где используется разделитель групп. – Loic