Typumwandlungsfunktionen

Jede Funktion erzwingt die Umwandlung eines Ausdrucks in einen bestimmten Datentyp.

Syntax

CBool( Ausdruck )

CByte( Ausdruck )

CCur( Ausdruck )

CDate( Ausdruck )

CDbl( Ausdruck )

CDec( Ausdruck )

CInt( Ausdruck )

CLng( Ausdruck )

CSng( Ausdruck )

CStr( Ausdruck )

CVar( Ausdruck )

Das erforderliche Ausdrucks-Argument ist ein beliebiger Zeichenfolgenausdruck oder Numerischer Ausdruck.

Rückgabetypen

Der Funktionsname bestimmt den Rückgabetyp, wie hier gezeigt:

Funktion

Rückgabetyp

Bereich für das Ausdrucks argument

CBool

Boolean

Jede gültige Zeichenfolge oder jeder gültige numerische Ausdruck.

CByte

Byte

0 bis 255.

CCur

Currency

-922.337.203.685.477,5808 bis 922.337.203.685.477,5807.

CDate

Date

Jeder gültige Datumsausdruck.

CDbl

Double

-1,79769313486231E308 bis
-4,94065645841247E-324 für negative Werte; 4,94065645841247E-324 bis 1,79769313486232E308 für positive Werte.

CDec

Decimal

+/-79.228.162.514.264.337.593.543.950.335 für nullskalierte Zahlen, also Zahlen ohne Dezimalstellen. Für Zahlen mit 28 Dezimalstellen ist der Bereich
+/-7,9228162514264337593543950335. Die kleinste mögliche Zahl ungleich null ist 0,0000000000000000000000000001.

CInt

Integer

-32.768 bis 32.767; Brüche werden gerundet.

CLng

Long

-2.147.483.648 bis 2.147.483.647; Brüche werden gerundet.

CSng

Single

-3,402823E38 bis -1,401298E-45 für negative Werte; 1,401298E-45 bis 3,402823E38 für positive Werte.

CStr

String

Die Rückgabewerte für CStr hängen vom Ausdrucksargument ab.

CVar

Variant

Gleicher Bereich wie Double für numerische Werte. Gleicher Bereich wie String für nicht numerische Werte.


Hinweise

Wenn der an die Funktion übergebene Ausdruck außerhalb des Bereichs des Datentyps liegt, in den konvertiert wird, tritt ein Fehler auf.

Im Allgemeinen können Sie Ihren Code mithilfe der Funktionen zur Datentypkonvertierung dokumentieren, um zu zeigen, dass das Ergebnis eines Vorgangs als ein bestimmter Datentyp anstelle des standardmäßigen Datentyps ausgedrückt werden soll. Verwenden Sie beispielsweise CCur, um Währungsarithmetik in Fällen zu erzwingen, in denen normalerweise einfache Genauigkeit, doppelte Genauigkeit oder ganzzahlige Arithmetik eingesetzt wird.

Verwenden Sie möglichst die Funktionen zur Datentypkonvertierung anstelle von Val, um internationalisierbare Konvertierungen von einem Datentyp in einen anderen bereitzustellen. Wenn Sie beispielsweise CCur verwenden, werden verschiedene Dezimaltrennzeichen, verschiedene Tausendertrennzeichen und verschiedene Währungsoptionen anhand der Gebietsschema-Einstellungen des Computers ordnungsgemäß erkannt.

Wenn der Bruchanteil genau 0,5 beträgt, runden CInt und CLng immer zu der nächstgelegenen geraden Zahl. Beispielsweise wird 0,5 zu 0 und 1,5 zu 2 gerundet. CInt und CLng unterscheiden sich von den Funktionen Fix und Int, die den Bruchanteil einer Zahl abschneiden, statt zu runden. Darüber hinaus geben Fix und Int immer einen Wert vom gleichen Typ wie der übergebene Wert zurück.

Verwenden Sie die Funktion IsDate, um zu bestimmen, ob date in ein Datum oder eine Uhrzeit konvertiert werden kann. CDate erkennt Datumsliterale ebenso wie Zahlen, die im Bereich akzeptabler Datumswerte liegen. Beim Konvertieren einer Zahl in ein Datum wird der gesamte Zahlenanteil in ein Datum konvertiert. Der gesamte Bruchanteil der Zahl wird in eine Uhrzeit konvertiert, beginnend bei Mitternacht.

CDate erkennt Datumsformate entsprechend den Gebietsschemaeinstellungen Ihres Systems. Die richtige Reihenfolge von Tag, Monat und Jahr wird möglicherweise nicht bestimmt, wenn sie in einem von den erkannten Datumseinstellungen abweichenden Format übergeben werden. Darüber hinaus wird ein langes Datumsformat nicht erkannt, wenn es außerdem die Zeichenfolge für den Wochentag enthält.

Eine CVDate-Funktion steht aus Gründen der Kompatibilität mit früheren Versionen von Visual Basic ebenfalls zur Verfügung. Die Syntax der CVDate-Funktion ist mit der der CDate-Funktion identisch, jedoch gibt CVDate einen Variant mit dem Untertyp Date anstelle eines tatsächlichen Typs Date zurück. Da nunmehr ein intrinsischer Typ Date verfügbar ist, gibt es keinen weiteren Bedarf für CVDate mehr. Der gleiche Effekt lässt sich durch Konvertieren eines Ausdrucks in ein Date und dessen anschließende Zuweisung zu einem Variant erreichen. Diese Technik steht im Einklang mit der Konvertierung aller andern intrinsischen Typen in ihre äquivalenten Variant-Untertypen.

Hinweis :  Die CDec-Funktion gibt keinen diskreten Datentyp zurück; stattdessen gibt sie immer einen Variant zurück, dessen Wert in einen Decimal-Untertyp konvertiert wurde.

Beispiele

Hinweis : Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.

CBool (Funktion)

Tipp :  Der Ausdrucks-Generator mit IntelliSense unterstützt Sie von Access 2010 an bei der richtigen Eingabe von Ausdrücken.

Dieses Beispiel verwendet die Funktion CBool, um einen Ausdruck in einen Boolean zu konvertieren. Wenn der Ausdruck in einen Wert ungleich null ausgewertet wird, gibt CBoolWahr zurück, andernfalls Falsch.

Dim A, B, Check
A = 5: B = 5 ' Initialize variables.
Check = CBool(A = B) ' Check contains True.
A = 0 ' Define variable.
Check = CBool(A) ' Check contains False.

CByte (Funktion)

Dieses Beispiel verwendet die Funktion CByte, um einen Ausdruck in einen Typ Byte zu konvertieren.

Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.

CCur (Funktion)

Dieses Beispiel verwendet die Funktion CCur, um einen Ausdruck in einen Typ Currency zu konvertieren.

Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble is a Double.
MyCurr = CCur(MyDouble * 2)
' Convert result of MyDouble * 2 (1086.429176) to a
' Currency (1086.4292).

CDate (Funktion)

Dieses Beispiel verwendet die Funktion CDate, um eine Zeichenfolge in einen Datentyp Date zu konvertieren. Im Allgemeinen wird das Hartcodieren von Datums- und Uhrzeitwerten in Form von Zeichenfolgen (wie in diesem Beispiel) nicht empfohlen. Verwenden Sie stattdessen Datumsliterale und Uhrzeitliterale, wie etwa #2/12/1969# und #4:45:23 PM#.

Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969"
' Convert to Date data type.
MyShortDate = CDate(MyDate)
MyTime = "4:35:47 PM"
' Convert to Date data type.
MyShortTime = CDate(MyTime)

CDbl (Funktion)

Dieses Beispiel verwendet die Funktion CDbl, um einen Ausdruck in einen Typ Double zu konvertieren.

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)

CDec (Funktion)

Dieses Beispiel verwendet die Funktion CDec, um einen numerischen Wert in einen Typ Decimal zu konvertieren.

Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.

CInt (Funktion)

Dieses Beispiel verwendet die Funktion CInt, um einen numerischen Wert in einen Typ Integer zu konvertieren.

Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.

CLng (Funktion)

Dieses Beispiel verwendet die Funktion CLng, um einen Wert in einen Datentyp Long zu konvertieren.

Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45
MyVal2 = 25427.55 ' MyVal1, MyVal2 are Doubles.
MyLong1 = CLng(MyVal1)
' MyLong1 contains 25427.
MyLong2 = CLng(MyVal2)
' MyLong2 contains 25428.

CSng (Funktion)

Dieses Beispiel verwendet die Funktion CSng, um einen Wert in einen Datentyp Single zu konvertieren.

Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1, MyDouble2 are Doubles.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)
' MySingle1 contains 75.34211.
MySingle2 = CSng(MyDouble2)
' MySingle2 contains 75.34216.

CStr (Funktion)

Dieses Beispiel verwendet die Funktion CStr, um einen numerischen Wert in einen Datentyp String zu konvertieren.

Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".

CVar (Funktion)

Dieses Beispiel verwendet die Funktion CVar, um einen Ausdruck in einen Typ Variant zu konvertieren.

Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.
Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×