Esto me está volviendo loco. Tengo la siguiente cadena en un ASP.NET 2.0 WebForm PáginaDouble.Parse - Problema de internacionalización
string s = "0.009";
Bastante simple. Ahora bien, si mi cultura es española - el cual es "es-ES" - y trato de convertir la cadena doble, hago lo siguiente:
double d = Double.Parse(s, new CultureInfo("es-ES"));
lo que cabe esperar es 0.009. En cambio, obtengo 9. Entiendo que .NET cree que es un separador de mil, que en en-US es una coma, pero ¿no debería tomar la información cultural que estoy pasando al método de análisis y aplicar el formato correcto a ¿la conversión?
Si hago
double d = 0.009D;
string formatted = d.ToString(new CultureInfo("es-ES"));
formato es ahora 0.009. ¿Nadie?
Más detalles sobre este y muchos otros problemas con la localización me gusta en http://www.moserware.com/2008/02/does-your-code-pass-turkey-test.html –