Wenn Sie das niederländische (Belgien) Zahlenformat verwenden möchten:
double output;
double.TryParse("24,45", NumberStyles.Any, CultureInfo.GetCultureInfo("nl-BE"), out output);
Oder um das US-amerikanische Zahlenformat 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 Kultur festzulegen zu analysieren, erhalten Sie "2445" zurück, ähnlich wie wenn Sie versuchen, "24,45" mit einer US-Kultur zu analysieren, erhalten Sie "2445" zurück. Wenn Sie möchten, dass das Parsen fehlschlägt, wenn das falsche Dezimalzeichen verwendet wird, ändern Sie NumberStyles.Any, um die Flagge 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 CultureInfo global ändern - hier erfahren Sie, wie es in WinForms gemacht wird und hier erfahren Sie, wie es in ASP.NET gemacht wird.
Sobald Sie eine global eingestellte CultureInfo verwenden, können Sie den obigen Code wie folgt ändern:
double output;
double.TryParse("24.45", NumberStyles.Any, CultureInfo.CurrentCulture, out output);
2 Stimmen
Argh, jetzt habe ich dieses Lied in meinem Kopf stecken: youtube.com/watch?v=Rt6Co7EMNCU