Probleme beim Parsen eines Strings to Double

LL0rd

Erfahrenes Mitglied
Hallo Leute,

ich habe eine C# Anwendung entwickelt, die beim Start daten aus einer Config Datei einliest. Mein Entwicklungssystem war dabei ein englisches Windows.

Aber nun sehe ich, dass die Config Datei auf meinem deutschen Windows System nicht kompatibel ist. Denn ich verwende Double Zahlen und speichere diese auch entsprechend als Strings in der Config Datei ab, z.B. (0.5). Wenn ich diese Zahl (als String) nun auf dem deutschen Windows System wieder zu einer Double parsen will, geht es schief. Aus den 0.5 werden 5.

Ich denke, dass Double.Parse() hier einfach nach den deutschen locales arbeitet. Deshalb mal die Frage, was ich da am besten machen kann.
 
Ja, das Problem kenne ich auch :)
Ich hab's so gelöst, dass ich die Lokalisierungsinfo mit angebe:
C#:
string str = "0.5";
double dValue = Convert.ToDouble(str, new CultureInfo("en-US", false).NumberFormat);

Ergänzung: Diesen Parameter kann man auch bei "Double.Parse()" mit angeben.

Gruß
MCoder
 
Zuletzt bearbeitet:
Zurück