Это сводит меня с ума. У меня есть следующая строка в ASP.NET 2.0 WebForm. Простой достаточно. Теперь, если моя культура является испанской - что «эс-ES» - и я стараюсь, чтобы преобразовать строку в Double, я следующее:Double.Parse - проблема интернационализации
double d = Double.Parse(s, new CultureInfo("es-ES"));
, что я ожидал бы это 0009. Вместо этого я получаю 9. Я понимаю, что .NET считает, что это тысячный разделитель, который в en-US является запятой, но не должен ли он принимать информацию о культуре, которую я передаю методу анализа и применяю правильный формат для преобразование?
Если я
double d = 0.009D;
string formatted = d.ToString(new CultureInfo("es-ES"));
отформатирован теперь 0009. Кто-нибудь?
Более подробную информацию об этом и многие другие проблемы с локализацией, например, на http://www.moserware.com/2008/02/does-your-code-pass-turkey-test.html –