Umwandlung: String in Gleitkommazahl

Hallo an alle!

Ich möchte den String „12.345“ in die zahl 12,345 (zwölf komma drei, vier, fünf), am besten als Datentyp Single umwandeln.

Kann mir jemand von euch weiterhelfen?

Vielen Dank und frohe Wehnachten,
Luggi

Hallo Luggi!

Ich möchte den String „12.345“ in die zahl 12,345 (zwölf komma
drei, vier, fünf), am besten als Datentyp Single umwandeln.

Kann mir jemand von euch weiterhelfen?

Ich versuchs mal :wink:

Schritt 1) Ersetzen des Punkt durch ein Komma -> Replace
Schritt 2) Umwandlung String zu Single -> CSng

Mehr gibts unter „Typ-Umwandlungsfunktionen“ in der Hilfe.

Der Schnipsel löst Dein Problem bedingt:

Sub main()
 Dim strZahl As String
 strZahl = "123.456"
 strZahl = Replace(strZahl, ".", ",")
 MsgBox (CSng(strZahl))
End Sub

Und warum nur „bedingt“?
Die Zeichenkette „123.456.789“, bei der der Punkt als Tausendertrennzeichen benutzt wird, endet im Laufzeitfehler 13.

Die Zeichenkette „100.000“ (Einhunderttausend) wird zu falschen 100,00.

Je nach Wertebereich und Herkunft (Benutzereingabe???) können also weitere Überprüfungen notwendig sein.

Vielen Dank und frohe Wehnachten,

Dir auch!

Michael