Laden...

Double Wert aus Textbox richtig formatieren

Erstellt von olliks1973 vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.199 Views
O
olliks1973 Themenstarter:in
8 Beiträge seit 2019
vor 4 Jahren
Double Wert aus Textbox richtig formatieren

Hallo, ich bekomme aus Formular-Textboxen Werte geliefert.
Diese möchte ich in Double umwandeln. Die Werte kommen im Format: 123,12 oder 123.
Auf meinem Pc funktioniert das Tadellos. Auf einem anderen Pc bekomme ich die Fehlermeldung:

Fehlermeldung:
Die Eingabezeichenfolge hat das falsche Format. Habe erst vor kurzen mit c# angefangen 😦


double weight = Convert.ToDouble(TextBoxWeight.Text);
            double size = Convert.ToDouble(TextBoxSize.Text);
            double bmi = weight / (size / 100 * size / 100);

W
955 Beiträge seit 2010
vor 4 Jahren

Convert.ToDouble akzeptiert in der Überladung ein IFormatProvider-Argument mit dem du die deutsche Lokale angeben kannst. (Der andere Rechner akzeptiert die Eingabe nicht weil der Prozeß in einer anderen Lokale läuft wo nicht das Komma sondern vllt der Punkt als Dezimaltrenner verwendet wird.)

16.807 Beiträge seit 2008
vor 4 Jahren

Alltagsproblem; hättest mit 10 Sekunden Google oder Blick in die Doku rausgefunden. 😃
Sollte immer der erste Anlaufpunkt sein.

Du gibst keine Culture an, daher wird die Culture des Users verwendet; die ist nicht zwangsläufig so, dass Punkt oder Komma erkannt werden.

Daher wie übliche Empfehlung:

double.TryParse unter der Verwendung des FormatProviders / Culture verwenden.

O
olliks1973 Themenstarter:in
8 Beiträge seit 2019
vor 4 Jahren

Super, danke, das hat gut geklappt. Jetzt geht es 😃