Это сводит меня с ума. У меня есть следующая строка на странице ASP.NET 2.0 WebForm
string s = "0.009";
Прост достаточно. Теперь, если моя культура испанская - это "es-ES" - и я пытаюсь преобразовать строку в Double, я делаю следующее:
double d = Double.Parse(s, new CultureInfo("es-ES"));
то, что я ожидаю, равно 0,009. Вместо этого я получаю 9. Я понимаю, что .NET считает, что это тысячный разделитель, который в en-US является запятой, но не должен ли он принимать информацию о культуре, которую я передаю методу анализа и применяю правильный формат для преобразование?
Если я делаю
double d = 0.009D;
string formatted = d.ToString(new CultureInfo("es-ES"));
отформатировано теперь 0,009. Кто-нибудь?