| 

.NET C# Java Javascript Exception

2
Ich lese in eine TextBox mit einem InputScope nur Zahlen und einen Punkt (als Komma) ein. Wenn ich jetzt den Text auslese und in eine Double-Variable packe, erscheint in der Variablen anstatt 25.1 der Wert 251, oder anstatt 300.10 der Wert 30010. Der Punkt aus der TextBox wird gar nicht berücksichtigt. Mit ganzzahligen Zahlen funktioniert alles ohne Probleme. So lese ich aus und parse:

Zahl= Convert.ToDouble(TextBoxBeispiel.Text);


Woran liegt das und wie kann ich dieses Verhalten ändern?
25.01.2012
2 Antworten
0
Versuch mal

Zahl= Convert.ToDouble(TextBoxBeispiel.Text.Replace(".", ","));
25.01.2012
Nicolai Schönberg 2,3k 1 8
0
Du solltest aber zusätzlich auch noch die Regionen-Einstellungen berücksichtigen, wenn du die Applikation auch mal in anderen Regionen richtig laufen haben willst. Deswegen solltest du prinzipiell den IFormatProvider benutzen. Je nach Region wandelt dir der den String der Region entsprechend automatisch um. So gibt

Convert.ToDouble("40,00")

in en-US einen wert von 4000, in de-DE aber einen Wert von 40!
26.01.2012
Eiger 1,9k 1 8

Stelle deine Mobile-Frage jetzt!