Table of contents
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern

Typkonvertierungsfunktionen

office 365 dev account|Zuletzt aktualisiert: 05.12.2017
|
1 Mitwirkender

Jede Funktion wandelt einen Ausdruck in einen spezifischen Datentyp um.

Syntax

CBool(Ausdruck)

CByte(Ausdruck)

CCur(Ausdruck)

CDate(Ausdruck)

CDbl(Ausdruck)

CDec(Ausdruck)

CInt(Ausdruck)

CLng(Ausdruck)

CLngLng(Ausdruck) (Nur auf 64-Bit-Plattformen gültig.)

CLngPtr(Ausdruck)

CSng(Ausdruck)

CStr(Ausdruck)

CVar(Ausdruck)

Das erforderliche ArgumentAusdruck ist ein beliebiger Zeichenfolgenausdruck oder numerischer Ausdruck.

Rückgabetypen

Der Funktionsname bestimmt den Rückgabetyp:

FunktionRückgabetyp*Bereich für das Argument *Ausdruck **
CBoolBooleanEin beliebiger gültiger Zeichenfolgenausdruck oder numerischer Ausdruck.
CByteByte0 bis 255
CCurCurrency-922.337.203.685.477,5808 bis 922.337.203.685.477,5807.
CDateDateEin beliebiger gültiger Datumsausdruck.
CDblDouble-1,79769313486231E308 bis -4,94065645841247E-324 für negative Werte; 4,94065645841247E-324 bis 1.79769313486232E308 für positive Werte.
CDecDecimal+/-79.228.162.514.264.337.593.543.950.335 für Zahlen ohne Dezimalstellen. Für Zahlen mit 28 Dezimalstellen ist der Bereich +/-7,9228162514264337593543950335. Die kleinstmögliche Zahl ungleich null ist 0,0000000000000000000000000001.
CIntInteger-32.768 bis 32.767; Brüche werden gerundet.
CLngLong-2.147.483.648 bis 2.147.483.647; Brüche werden gerundet.
CLngLngLongLong-9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807; Brüche werden gerundet. (Nur auf 64-Bit-Plattformen gültig.)
CLngPtrLongPtr-2.147.483.648 bis 2.147.483.647 auf 32-Bit-Systemen, -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807 auf 64-Bit-Systemen;Fraktionen werden auf beiden Systemen gerundet.
CSngSingle-3,402823E38 bis -1,401298E-45 für negative Werte; 1,401298E-45 bis 3,402823E38 für positive Werte.
CStrStringRückgabewerte von CStr hängen vom Argument Ausdruck ab.
CVarVariantEntspricht dem Bereich von Double für numerische und dem Bereich von String für nicht numerische Werte.

Hinweis

Wenn der an die Funktion übergebene Ausdruck außerhalb des Bereichs für den Datentyp liegt, in den er umgewandelt wird, tritt ein Fehler auf.

Hinweis Umwandlungsfunktionen müssen verwendet werden, um LongLong -Ausdrücke (einschließlich LongPtr auf 64-Bit-Plattformen) explizit kleineren Integraltypen zuzuweisen. Implizite Umwandlungen von LongLong -Ausdrücken auf kleinere Integrale sind nicht zulässig.

Im Allgemeinen können Sie Ihren Code mithilfe der Funktionen zur Umwandlung des Datentyps so dokumentieren, dass angezeigt wird, dass das Ergebnis eines Vorgangs als bestimmter Datentyp und nicht als Standard-Datentyp angezeigt werden soll. Verwenden Sie beispielsweise CCur, um Währungsarithmetik zu erzwingen, wenn normalerweise Arithmetik mit einfacher Genauigkeit, doppelter Genauigkeit oder einer ganzen Zahl auftreten würde.

Sie sollten die Funktionen zur Umwandlung des Datentyps anstelle von Val verwenden, um für den internationalen Bereich geeignete Umwandlungen von einem Datentyp in einen anderen zur Verfügung zu stellen. Wenn Sie beispielsweise CCur verwenden, werden unterschiedliche Dezimaltrennzeichen, Tausendertrennzeichen und Währungsoptionen abhängig von der Gebietsschema-Einstellung Ihres Computers richtig erkannt.

Wenn der Bruchteil genau 0,5 beträgt, runden CInt und CLng ihn immer auf die nächste gerade Zahl. 0,5 wird beispielsweise auf 0 ab-, 1,5 auf 2 aufgerundet. CInt und CLng unterscheiden sich von den Fix - und Int -Funktionen, die den Bruchteil einer Zahl nicht runden, sondern abschneiden. Außerdem geben Fix und Int immer einen Wert zurück, dessen Typ dem eingegebenen entspricht.

Verwenden Sie die IsDate -Funktion, um zu bestimmen, ob Datum in ein Datum oder eine Uhrzeit umgewandelt werden kann. CDate erkennt Datumsliterale und Uhrzeitliterale ebenso wie einige Zahlen, die in den Bereich akzeptierter Daten fallen. Bei der Umwandlung einer Zahl in ein Datum wird der ganzzahlige Teil der Zahl in ein Datum umgewandelt. Bruchteile der Zahl werden in eine Uhrzeit umgewandelt, beginnend mit Mitternacht.

CDate erkennt Datumsformate entsprechend den Gebietsschemaeinstellungen Ihres Systems. Die richtige Reihenfolge von Tag, Monat und Jahr kann möglicherweise nicht festgestellt werden, wenn sie in einem Format eingegeben wird, das nicht einer der erkannten Datumseinstellungen entspricht. Außerdem wird ein langes Datumsformat nicht erkannt, wenn es auch die Zeichenfolge für den Wochentag enthält.

Es steht auch eine CVDate -Funktion zur Verfügung, um die Kompatibilität mit früheren Versionen von Visual Basic sicherzustellen. Die Syntax der CVDate -Funktion ist identisch mit der der CDate -Funktion, CVDate gibt jedoch eine Variante zurück, die den Subtyp Date anstelle eines tatsächlichen Date -Typs hat. Da es jetzt einen systeminternen Date -Typ gibt, wird CVDate nicht mehr benötigt. Derselbe Effekt lässt sich erzielen, indem ein Ausdruck in ein Date Wert umgewandelt und anschließend einer Variante zugewiesen wird. Diese Vorgehensweise entspricht der Umwandlung aller anderen systeminternen Typen in ihre gleichwertigen Variant -Subtypen.

Hinweis Die CDec -Funktion gibt keinen einzelnen Datentyp zurück; stattdessen gibt sie stets eine Variante zurück, deren Wert in einen Decimal -Subtyp umgewandelt wurde.

Beispiel für die CBool-Funktion

Dieses Beispiel wandelt mit der CBool -Funktion einen Ausdruck in einen Booleschen Wert um. Wenn der Ausdruck auf einen Wert ungleich Null ausgewertet wird, gibt CBoolTrue zurück, andernfalls False.

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.

Beispiel für die CByte-Funktion

Dieses Beispiel wandelt mit der CByte -Funktion einen Ausdruck in einen Bytewert um.

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

Beispiel für die CCur-Funktion

Dieses Beispiel wandelt mit der CCur -Funktion einen Ausdruck in einen Währungswert um.

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).

Beispiel für die CDate-Funktion

Dieses Beispiel wandelt mit der CDate -Funktion eine Zeichenfolge in einen Datumswert um. Im Allgemeinen ist die Hartcodierung von Datums- und Uhrzeitwerten als Zeichenfolgen (wie in diesem Beispiel dargestellt) nicht empfehlenswert. Verwenden Sie stattdessen Datums- und Uhrzeitliterale wie #2/12/1969# und #4:45:23 PM#.

Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969" ' Define date.
MyShortDate = CDate(MyDate) ' Convert to Date data type.

MyTime = "4:35:47 PM" ' Define time.
MyShortTime = CDate(MyTime) ' Convert to Date data type.

Beispiel für die CDbl-Funktion

Dieses Beispiel wandelt mit der CDbl -Funktion einen Ausdruck in einen Double -Wert um.

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

Beispiel für die CDec-Funktion

Dieses Beispiel wandelt mit der CDec -Funktion einen numerischen Wert in einen Decimal -Wert um.

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

Beispiel für die CInt-Funktion

Dieses Beispiel wandelt mit der CInt -Funktion einen Wert in eine ganze Zahl um.

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

Beispiel für die CLng-Funktion

Dieses Beispiel wandelt mit der CLng -Funktion einen Wert in einen Long -Wert um.

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.

Beispiel für die CSng-Funktion

Dieses Beispiel wandelt mit der CSng -Funktion einen Wert in einen Single -Wert um.

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.

Beispiel für die CStr-Funktion

Dieses Beispiel wandelt mit der CStr -Funktion einen numerischen Wert in eine Zeichenfolge um.

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

Beispiel für die CVar-Funktion

Dieses Beispiel wandelt mit der CVar -Funktion einen Ausdruck in eine Variante um.

Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000") ' MyVar contains the string
 ' 4534000.
© 2018 Microsoft