Wenn ich versuche, einen String in einen numerischen Wert mit Parse oder TryParse oder Convert.ChangeType zu konvertieren, kann ich nicht de Tausendertrennzeichen verwalten, wie es im System definiert ist:String Numerische Konvertierung und Gruppenseparator
wenn ich ein:
var d = double.Parse("1,234", CultureInfo.CurrentUICulture);
es nicht 1234.
zurückkehrt wenn ich die Gruppe Separator verwendet werden soll, muss ich eingeben:
var d = double.Parse("1,234", NumberStyles.Number, CultureInfo.CurrentUICulture);
Dieses Mal ist das Ergebnis, dass man erwartet.
Aber ich möchte nicht die Verwendung der tausend Trennzeichen erzwingen, ich möchte es nur verwenden, wenn das System es in den Globalisierungseinstellungen angeben. Gibt es eine Möglichkeit zu wissen, ob das Trennzeichen verwendet wird (ich weiß, dass ich die Gruppe Separator in CultureInfo.CurrentUICulture.NumberFormat.NumberGroupSeparator
lesen kann)
Prost Loic
Ja, aber in Wirklichkeit möchte ich die Convert.ChangeType-Funktion verwenden, um eine generische Zeichenfolge zu einem numerischen Konverter zu machen und sie als String-Erweiterung bereitzustellen. Aber Convert.ChangeType hat keine Überladung mit NumberStyles-Parameter. Es erlaubt nur einen IFormatProvider-Parameter. Und was ich nicht verstehe, ist, warum die Defaut-Einstellung für Parse nicht meinen internationalen Systemeinstellungen entspricht, wo die Verwendung von Gruppen-Trennzeichen eingestellt ist. – Loic