2009-04-05 10 views
5

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

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

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

Respuesta

22

Debe pasar InvariantCulture al método.

La razón detrás de esto es que la configuración regional probablemente establezca . como carácter separador y no punto decimal.

double.TryParse("20.0", NumberStyles.Any, 
       CultureInfo.InvariantCulture, out x); 
+0

Gracias, eso lo resolvió. :) –

+0

esto es muy complicado –

Cuestiones relacionadas