version=2.0.1
vdate=22.12.2016
fname=cast_cast.bas
ns=%NAMESPACE%
fpath=/vba/cast
{{keywords>vba,cast}}
{{description>Diese Funktion erstellt auf verschiedene Arten ein Dictionary. V-%%version%%}}
====== [VBA] cast() ======
//Eine Funktion die anhand der %%VarTypes%% versucht ein Wert zu casten.
Diese Funktion ist nicht für Objekte geeignet.
//
==Version %%version%% %%vdate%%==
{{%%fname%%|Download %%fname%% (V-%%version%%)}}
===== Definition =====
boolean = cast(vbVarType, value [,Strong])Public Function cast( _
ByVal iType As VbVarType, _
ByVal iVar As Variant, _
Optional ByVal iStrong As Boolean = False _
) As Variant
===== Beispiele =====
> Für die Ausgabe der Resultate verwendete ich die Funktion [[vba:functions:print_r:index]]
d cast(vbInteger, "123.45")
123
'Versuch misslungen. Der Originalwert wird zurückgehen
d cast(vbInteger, "ABC")
'ABC'
'Dasselbe aber mit Strong
d cast(vbInteger, "ABC", true)
--> Verursacht einen Error 13 Type mismatch
'0, leerer String, Empty und Null können zu Null oder Empty konvertiert werden
d cast(vbNull, 0)
d cast(vbEmpty, NULL)
'Boolean sind ebenfalls möglich
d cast(vbBoolean, 1)
True
'Ein einzelner Wert in ein Array wandeln
d cast(vbArray, 12)
(
[0] => 12
)
'Ein Array in ein Array wandeln
d cast(vbArray, array(11, 12))
(
[0] => 11
[1] => 12
)
'cast() führt auch zusätzlich ein NZ() aus
d cast(vbInteger, Null)
0
===== Code =====