2012-03-20 10 views
12

Estoy intentando esto en dos aplicaciones; una aplicación de consola y una aplicación web.Double.Parse no proporciona el resultado correcto

En la aplicación de consola cuando intento Double.Parse("0.5") da 0,5 o Double.Parse(".5") da 0,5

Pero en la aplicación web Double.Parse("0.5") da 5.0 y Double.Parse(".5") da excepción

cadena de entrada no tiene el formato correcto.

¿Alguien puede decir cómo puede resolver el problema en la aplicación web?

+1

Publique el código exacto que está utilizando. No debería hacer eso. –

+1

@Oded en la aplicación web está tratando el '.' como un separador de miles. –

Respuesta

26

Debe proporcionar información cultural, de lo contrario, utiliza la información de la cultura del subproceso que se está ejecutando actualmente. Pruebe esto en su lugar:

CultureInfo cultureInfo = CultureInfo.InvariantCulture; // or whatever you prefer 
double result = double.Parse(".5", cultureInfo); 
+0

Dang, iba a escribir eso pero vio tu respuesta. Preciso y al grano. ¡bonito! –

+1

Gracias @Mark. Funcionó. – MNVR

+2

Bueno, hice clic en el botón Aceptar inmediatamente después (puede ser una demora de mil millones: p) funcionó, pero SO me pidió que esperara 3 minutos :( – MNVR

Cuestiones relacionadas