VB arbeitet im Code auch mit der englischen Schreibweise.
Um z.B. Zahlen in Strings zu verwandeln gibts mehrere Methoden:

dim xStr as string
dim xVal as double

xStr=xVal
xStr=cstr(xVal)
xstr=format(xVal, "#,##0.00")

Beim Format ist auffällig, dass ein Dezimalpunkt verwendet wird, die Ausgabe ist aber abhängig von der Spracheinstellung in Windows !

Umgekehrt aus einem String einen Wert zu bekommen muss man allerdings folgendes beachten:

xVal=val(xStr)

Die Funktion VAL() interpretiert verschieden Varianten, u.a. auch Hexstrings. Beim Dezimalwert allerdings gilt das englische Format ! D.h., Komma werden ignoriert, Punkt gilt als Dezimalpunkt.

xVal=cdbl(xStr)

Diese Funktion interpretiert wiederum in Abhängigkeit von der Windowseinstellung !

Es ist vor allen Dingen wichtig, wenn man multinationale Software entwickelt, dass man cdbl() verwendet. Allerdings muss die Software wissen, woher die Daten kommen, ob sie einen Punkt oder ein Komma verwenden !

Beim SQL ist wiederum die ODBC-Einstellung wichtig (allerdings nicht jeder Treiber unterstützt dies). Dies gilt genauso auch für SQLRPG/LE, hier gibts über die SET OPTION DECFMT=*COMMA/*POINT (oder so ähnlich) die Möglichkeit der Auswahl. Dies hat NICHTS mit der H-Bestimmung zu tun !!!