Pregunta

Estoy tratando de convertir una cadena en un valor doble, pero no me está volviendo lo que espero ...

double dbl;
Double.TryParse("20.0", out dbl);

Esa pieza de código está regresando 200,0 (en lugar de 20,0) como un valor doble. Cualquier idea de por qué?

¿Fue útil?

Solución

Debe pasar InvariantCulture al método.

La razón detrás de esto es que la configuración regional probablemente establecen . como carácter de separación y no coma decimal.

double.TryParse("20.0", NumberStyles.Any, 
                CultureInfo.InvariantCulture, out x);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top