String zu double verwandeln?
-
Hallo,
ich habe einen String Wert. In dem steht beispielsweise:wert = 55.67
Diesen Wert möchte ich jetzt in das long oder double Format konvertieren. Wenn ich das ganze aber konvertiere (egal ob Convert.toDouble() oder double.parse()) wird der Wert in der double Variable ohne den Punkt gespeichert.
Also 5567 statt 55.67
Was ist zu tun?
Wichtig ist das auf jeden Fall der PUNKT erhalten bleibt und NICHT das ganze mit einem Komma konvertiert wird.
Grüße Lisa
-
also wenn der String "wert=5.78" heißt würde ich erstmal die Buchstaben rausstreichen, sodass er nur noch "5.78" heißt.
Und dann mit atoi() oder atof() arbeiten.
-
Obs Punkt oder Komma ist hängt von der language-einstellung des Computer ab auf dem das Programm läuft. Convert parsed den String entsprechend. Bei Language "de" erwartet Convert nunmal ein KOmma.
Um das zu umgehen mußt Du Convert einen Formatprovider mitgeben (2ter Parameter der Convert-funktion)
-
ESS_CB schrieb:
also wenn der String "wert=5.78" heißt würde ich erstmal die Buchstaben rausstreichen, sodass er nur noch "5.78" heißt.
Und dann mit atoi() oder atof() arbeiten.
Sicher, itoa und atof sind auch gängige C# Funktionen...
-
...und als FormatProvider kannste da NumberFormatInfo übergeben und da vorher das Dezimal-Trennzeichen angeben.
-
ghost_of_schue schrieb:
Sicher, itoa und atof sind auch gängige C# Funktionen...
shit, das war das kleine Detail, was ich übersehen hab, dass das Forum C# heißt
sry