>Val() wandelt einen String ( = Folge von Asciizeichen) in einen Datentyp um, der dem Inhalt des Strings entspricht.
>
Wenn der String ausschaut wie eine Fließkommazahl,
dann macht Val() eine Fließkommazahl daraus.
>Val() benutzt die lokale Sprache ihrer Maschine ( hier also deutsch ), die in "locales" festgelegt wurde.
>Sie können Ihre Einstellung mit folgendem Konsolenbefehl überprüfen: "locales" oder "echo $LANG".
>Auf einer deutschen Maschine erhält man : de_DE@euro
>Vorsicht: Mit Kommazahlen und der Ländereinstellung !!
>Steht in einer Textbox1 6,6 mit deutscher Ländereinstellung, dann liefert val(textbox1.text) eine Floatvariable mit dem Wert 6.6
>Steht in der Textbox 6.6 dann liefert val(textbox1.text) ein Datum 06.06.04
>Wollen Sie die Zahl wieder in einen deutschen Text verwandeln
, dann nutzen Sie str(zahl) zum umwandeln.
>Wenn Sie einen string eingeben dann wandelt das Programm den String mit val um und die Art der umgewandelten Variable wird überprüft.
>Das Ergebnis wird ausgegeben.
>PUBLIC SUB _new()
>TextLabel1.Text="Tippen Sie etwas ein das wie eine Zahl oder eine Kommazahl oder eine Boolesche Variable ausschaut"
>END
>PUBLIC SUB Form_Open()
>END
>PUBLIC SUB Button1_Click()
>x AS Variant
>x = Val(TextBox1.Text)
>IF IsBoolean(x) THEN
>Label1.Text="Das ist eine Boolesche Variable!"
>ENDIF
>IF IsInteger(x) THEN
>Label1.Text="Das ist eine Zahl!"
>ENDIF
>IF IsFloat(x) THEN
>Label1.Text="Das ist eine Kommazahl!"
>ENDIF
>IF IsString(x) THEN
>Label1.Text="Das ist ein String!"
>ENDIF
>END
>Theorie
>Expression = Val ( String )
>Converts a string into a boolean, a number or a date, according to the content of the string. The current localization is used to convert numbers and dates.
>The conversion algorithm is the following :
>If the string can be interpreted as a date & time (with date or time separators), then the date & time is returned.
>Else, if the string can be interpreted as a floating point number, then this floating point number is returned.
>Else, if the string can be interpreted as a integer number, then this integer number is returned.
>Else, if the string is TRUE or FALSE , then the matching boolean value is returned.
>Otherwise, NULL is returned.
>Vorsicht: Mit Kommazahlen und der Ländereinstellung !!
>Steht in einer Textbox1 6,6 mit deutscher Ländereinstellung, dann liefert val(textbox1.text) eine Floatvariable mit dem Wert 6.6
>Steht in der Textbox 6.6 dann liefert val(textbox1.text) ein Datum 06.06.04
>Beispiel
>PRINT Val("09/06/72 01:00")
>=> 09/06/72 01:00:00
>PRINT Val("3.1415")
>=> 3.1415 oder 31415 je nach Ländereinstellung
>PRINT Val("6.6")
>=> 6.6 oder 06.06.04 je nach Ländereinstellung !!
>PRINT Val("-25")
>=> -25
>PRINT Val("True")
>=> True
>PRINT IsNull(Val("Gambas"))
>=> True