string umwandeln

blitzschaden

Grünschnabel
Folgendes Problem, was eigenlich gar keins sein sollte.

Folgender Beispielcode :

Private Sub Label1_Click()
Dim a, b As String
Dim c, d As Double

a = "123.123"
b = "123,123"
c = CDbl(a)
d = CDbl(b)

Debug.Print c
Debug.Print d

End Sub

Ausgegeben wird :
123123
123,123

Sollte denn nicht der wert von a als Gleitkomma erkannt werden ? Also in der
Ausgabe 123.123 erscheinen ?
Irgendwie scheint bei mir die Punkt, Komma geschichte vertauscht.

Habe nun nämlich Probleme mit eine Mysql Datenbank, in welcher ich nur nach Werten mit Punkt, d.h. 123.123, suchen kann, da die Zellen als float initialisiert sind. Da ich die zu prüfende Zahl jedoch über ein Textfeld einlese und umwandel, sucht er bei mir immer nach 123123 und wird natürlich nicht findig.
Vielen Dank schon einma für jeglichen Kommentar.
 
Bei diesen String berücksichtigt VB die Ländereinstellungen und erkennt Kommata als Dezimaltrennzeichen.

Nochwas. Du weisst schon dass in deinem Beispiel a und c als Variant deklariert sind?

f0x
 
danke für deine schnelle antwort.

vielleicht hast du ja noch einen tip auf lager.
kann ich die ländereinstellungen umstellen ?
habe eine englische version.

oder wie kann ich bei mysql das komma punkt problem lösen.
in einem suchstring etwa folgender :

rs.Find "Messwert =" & mw1
hat mw1 eigentlich einen umgewandelten dezimalwert z.b. 45,45. berücksichtigt wird beim suchen jedoch nur der teil vor dem komma. setze ich einen manuellen wert mit punkt funktioniert es. die felder in der db sind als float initialisiert und liegen dort auch mit einem punkt drinnen.

gruß
 
Zurück