Я думаю, что нашел решение, которое не требует культуры.Используя NumberFormatInfo, вы можете форсировать формат независимо от культуры:
// This is invariant
NumberFormatInfo format = new NumberFormatInfo();
// Set the 'splitter' for thousands
format.NumberGroupSeparator = ".";
// Set the decimal seperator
format.NumberDecimalSeparator = ",";
Затем:
System.Diagnostics.Debug.WriteLine(double.Parse("202.667,40", format)));
Выходы:
202667,4
Конечно, этот вывод (внутренний toString ()) может отличаться в зависимости от культуры (!)
Обратите внимание, что изменение входного значения на «202,667.40» приведет к ошибке разбора, поэтому формат должен соответствоватьваш ожидаемый вклад.
Надеюсь, это кому-нибудь поможет.