# String in zahl umwandeln



## ronnyk (30. Juni 2004)

Kann ich unter VBA eine String-variable (z.B.: 15.324) zu einer double-Variable umwandeln?
Der Punkt ist immer, egal welche Ländereinstellung als Dezimaltrenner zu sehen.
Kann auch nicht den Punkt, mit REPLACE ersetzen.

Gibt es sowas ähnlisches für Zahlen wie mit den Datum?
Unterschied: CDate() und Dateserial()

Danke


----------



## JensG (2. Juli 2004)

Schaue mal nach der Function CDbl in der Hilfe.


----------



## JensG (2. Juli 2004)

> _Original geschrieben von JensG _
> *Schaue mal nach der Function CDbl in der Hilfe. *



Vorher den String aber mit IsNumeric prüfen ob es sich um eine Zahl
handelt.


----------



## sulkifix (8. Juli 2004)

*CDbl*

Hi,

wird der Punkt egal welche Ländereinstellung voliegt als dezimaltrennsymbol angesehen ?

Sulkifix


----------



## ronnyk (8. Juli 2004)

Nein, 

kommt ganz darauf an welches Zeichen als Dezimaltrennzeichen im System vorhanden ist. Es sei den der Wert besitzt nur 2 Stellen nach den Punkt.


Wollte erst das Dezimaltrennzeichen mittels API-Aufrufe auslesen. Ging leider nicht wirklich. 

Hab ihn dan selber manuell eine Stringvariable umwandeln lassen. 

Dim test1, test2 As String
test1 = 1.23            '1.23 = us|1,23 = ger
test2 = Mid(test1, 2, 1)

Da der Wert dieser Zahl nur 2 Stellen nach den Punkt besitzt, erkennt er es automatisch als Dezimaltrennzeichen und ersetzt es gegf gegen ein KOMMA ein.
So hab ich dann das Drennzeichen herausgefunden.


----------

