Si desea utilizar el Holandés (Bélgica) el formato de número:
double output;
double.TryParse("24,45", NumberStyles.Any, CultureInfo.GetCultureInfo("nl-BE"), out output);
O, para usar el formato de número de Estados Unidos:
double output;
double.TryParse("24.45", NumberStyles.Any, CultureInfo.GetCultureInfo("en-US"), out output);
Si intenta analizar "24.45" con una holandesa conjunto de cultura, obtendrá "2445", del mismo modo, si intenta analizar "24,45" con una cultura estadounidense, obtendrá "2445". Si desea que el análisis sintáctico a fallar si se utiliza la coma decimal mal, cambiar NumberStyles.Any para excluir la bandera: NumberStyles.AllowThousands
:
double output;
if (double.TryParse("24.45", NumberStyles.Any^NumberStyles.AllowThousands, CultureInfo.GetCultureInfo("nl-BE"), out output))
Si toda la aplicación está en holandés, debe cambiar su CultureInfo a nivel mundial - y here's how to do it in WinFormshere's how to do it in ASP.NET.
Una vez que estés utilizando un conjunto global CultureInfo, puede cambiar el código anterior para:
double output;
double.TryParse("24.45", NumberStyles.Any, CultureInfo.CurrentCulture, out output);
Argh, ahora he esta canción pegada en la cabeza: –
http://www.youtube.com/watch?v=Rt6Co7EMNCU Gracias Matthew Brindley –