palaber
Captain
- Registriert
- Juni 2006
- Beiträge
- 3.856
Hi Leute,
und zwar habe ich folgendes Problem. Ich bekomme ein Array mit strings geliefert. diese moechte ich in double Werte parsen. Um es einfacher zu halten geh ich jetzt nur noch auf das 1. Arrayelement - also string[0] ein.
Die Sache ist die, ich programmiere an einem System mit deutschen einstellungen / OS.
Das Programm soll spaeter auf einem us System laufen.
Am liebsten waere es mir, wenn mein Code unabhaengig von den Laendereinstellungen laeuft. Der String hat immer das Format: (24 Char: -9.242342340000E+1)
Momentan habe ich es so geloest:
Fuer das US System muesste ich ja aber die erste Zeile des Codes wieder raus nehmen. Gibt es irgendwie ne moeglichkeit mit System.Globalisation.NumberStyles oder IFormatProvider das ganze zu umgehen?
Muss ich dann den String, den ich von einem Network Analyzer bekomm auch Laenderunabhaengig einlesen? Oder kann ich einfach durch die Laendereinstellungen sagen, dass ein Komma oder Punkt als Trennzeichen dient.
Bei der Globalisation sache bekomm ich immer eine Fehlermeldung. Und die IFormatProvider blick ich nicht wirklich. Woher bekomme ich denn da das Objekt (ist das objekt die Laendereinstellung)?
Code fuer Globalisation (geht nicht):
Die MSDN Seite macht mich leider auch nicht schlauer und ein paar Loesungen von google raff ich gerade auch nicht
.
Vielen Dank fuer eure Hilfe!
und zwar habe ich folgendes Problem. Ich bekomme ein Array mit strings geliefert. diese moechte ich in double Werte parsen. Um es einfacher zu halten geh ich jetzt nur noch auf das 1. Arrayelement - also string[0] ein.
Die Sache ist die, ich programmiere an einem System mit deutschen einstellungen / OS.
Das Programm soll spaeter auf einem us System laufen.
Am liebsten waere es mir, wenn mein Code unabhaengig von den Laendereinstellungen laeuft. Der String hat immer das Format: (24 Char: -9.242342340000E+1)
Momentan habe ich es so geloest:
Code:
arrStringNAData[0] = arr StromgMAData[0].Replace('.', ',');
arrDoubleNAData[0] = double.Parse(arrStringNAData[0]);
Fuer das US System muesste ich ja aber die erste Zeile des Codes wieder raus nehmen. Gibt es irgendwie ne moeglichkeit mit System.Globalisation.NumberStyles oder IFormatProvider das ganze zu umgehen?
Muss ich dann den String, den ich von einem Network Analyzer bekomm auch Laenderunabhaengig einlesen? Oder kann ich einfach durch die Laendereinstellungen sagen, dass ein Komma oder Punkt als Trennzeichen dient.
Bei der Globalisation sache bekomm ich immer eine Fehlermeldung. Und die IFormatProvider blick ich nicht wirklich. Woher bekomme ich denn da das Objekt (ist das objekt die Laendereinstellung)?
Code fuer Globalisation (geht nicht):
Code:
arrDoubleNAData[0] = double.Parse(arrStringNAData[0], Szstem.Globalization.NumberStyles.float);
Die MSDN Seite macht mich leider auch nicht schlauer und ein paar Loesungen von google raff ich gerade auch nicht
Vielen Dank fuer eure Hilfe!