Wenn Sie das niederländischen (Belgien) Zahlenformat verwenden:
double output;
double.TryParse("24,45", NumberStyles.Any, CultureInfo.GetCultureInfo("nl-BE"), out output);
Oder das US-Nummer-Format zu verwenden:
double output;
double.TryParse("24.45", NumberStyles.Any, CultureInfo.GetCultureInfo("en-US"), out output);
Wenn Sie versuchen, "24,45" mit einem niederländischen zu analysieren Wenn Sie versuchen, "24,45" mit einer US-Kultur zu analysieren, erhalten Sie "2445". Wenn Sie die Parse zum Scheitern verurteilt, wenn die falsche Dezimalpunkt wollen verwendet wird, NumberStyles.Any ändern, um die Fahne auszuschließen: NumberStyles.AllowThousands
:
double output;
if (double.TryParse("24.45", NumberStyles.Any^NumberStyles.AllowThousands, CultureInfo.GetCultureInfo("nl-BE"), out output))
Wenn Ihre gesamte Anwendung auf Niederländisch ist, sollten Sie Ihre Culture global ändern - here's how to do it in WinForms und here's how to do it in ASP.NET.
Sobald Sie eine global gesetzt Culture verwenden, können Sie den obigen Code ändern:
double output;
double.TryParse("24.45", NumberStyles.Any, CultureInfo.CurrentCulture, out output);
Argh, jetzt habe ich dieses Lied in meinem Kopf: http://www.youtube.com/watch?v=Rt6Co7EMNCU –
Dank Matthew Brindley –