Entwickler-Ecke
Basistechnologien - String to double
stugi82 - Sa 19.07.08 11:35
Titel: String to double
Hallo,
ich lese aus einer Textdatei verschiedenen Werte aus. Jetzt möchte ich einige dieser Wert vom Typ string in den Typ double umwandeln.
also ungefähr so:
C#-Quelltext
1: 2:
| sting a = "1.2"; double b = System.Convert.ToDouble(a)/10.0; |
Allerdings ignoriert C# dabei den Punkt, weshalb ich in diesem Beispiel durch 10.0 teilen muss, um das richtige Ergebnis zu erhalten. Geht das auch eleganter, ohne durch 10 zu teilen?
Danke!
Moderiert von
Christian S.: C#-Tags hinzugefügt
Christian S. - Sa 19.07.08 11:48
Hallo!
Das Framework benutzt beim Konvertieren von / in Strings standardmäßig die Zahl-Formatierungen der Systemsprache. Bei einem deutschen System ist "." also nur der Tausender-Trennpunkt und nicht der Dezimal-Separator.
Du kannst aber erreichen, dass eine bestimmte CultureInfo benutzt wird:
Delphi-Prism-Quelltext
1: 2: 3: 4: 5:
| var ci := new CultureInfo('en-US'); var b : Double; var s := '1.2'; if not Double.TryParse(s, NumberStyles.Any, ci, out b) then b := Double.NaN; |
Grüße
Christian
stugi82 - Sa 19.07.08 12:30
Danke Christian! Bin immer wieder überrascht, von den Möglichkeiten, die C# bietet.
Gruß Jörg
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!