Datentypen in VB Basic                     Zurück

Datentypen                  Typ-Umwandlungsfunktionen

Variablen sind Platzhalter, die zum Speichern von Werten verwendet werden; sie haben Namen und Datentypen. Durch den Datentyp einer Variablen wird festgelegt, wie die Bits, die die Werte repräsentieren, im Speicher des Computers gespeichert werden. Wenn Sie eine Variable deklarieren, können Sie auch einen Datentyp für sie definieren. Alle Variablen haben einen Datentyp, der bestimmt, welche Art von Daten sie speichern können.

Standardmäßig wird einer Variablen der Datentyp Variant zugewiesen, wenn Sie keinen Datentyp angeben. Der Datentyp Variant verhält sich wie ein Chamäleon – er kann für viele verschiedene Datentypen in unterschiedlichen Situation stehen. Sie müssen diese verschiedenen Arten von Daten nicht umwandeln, wenn Sie sie einer Variant-Variablen zuweisen. Visual Basic führt dann automatisch alle notwendigen Umwandlungen aus.

Wenn Sie wissen, daß eine Variable immer Daten eines bestimmten Typs speichert, ist es jedoch sinnvoll, eine Variable dieses Typs zu deklarieren, da Visual Basic die Daten dann effizienter handhaben kann. Bei einer Variablen zum Speichern des Namens einer Person ist es z.B. am besten, sie als Datentyp String zu definieren, da ein Name immer aus Zeichen besteht.

Datentypen spielen auch noch bei anderen Elementen eine Rolle. Wenn Sie einer Eigenschaft einen Wert zuweisen, ist dieser Wert von einem bestimmten Datentyp. Argumente zu Funktionen gehören ebenfalls bestimmten Datentypen an. Tatsächlich hat praktisch alles in Visual Basic, bei dem es um Daten geht, auch etwas mit Datentypen zu tun.

Sie können auch Datenfelder der einzelnen Grunddatentypen erstellen.

Weitere Informationen Weitere Informationen hierzu finden Sie im Abschnitt ÆDatenfelder“ weiter unten in diesem Kapitel. Wie Sie durch Auswahl der geeigneten Datentypen die Leistung Ihrer Anwendung verbessern können, ist in ÆLeistung und Kompatibilität beim Anwendungsentwurf“, erläutert.

Deklarieren von Variablen mit Datentypen

Bevor Sie eine Variable verwenden, die nicht vom Datentyp Variant ist, müssen Sie sie mit der Private-, Public-, Dim- oder Static-Anweisung deklarieren und mit As Typ einen Typ festlegen. Die folgenden Anweisungen deklarieren z.B. Werte vom Typ Integer, Double, String und Currency:

Private I As Integer

Dim Amt As Double

Static YourName As String

Public BillsPaid As Currency

Eine Deklarationsanweisung kann mehrere Deklarationen enthalten, wie in den folgenden Beispielen:

Private I As Integer, Amt As Double

Private YourName As String, BillsPaid As Currency

Private Test, Amount, J As Integer

Anmerkung Wenn Sie keinen Datentyp angeben, wird der Variablen der Standarddatentyp zugewiesen. Im obigen Beispiel haben die Variablen Test und Amount den Datentyp Variant. Dies überrascht Sie vielleicht, wenn Sie Erfahrungen mit anderen Programmiersprachen gesammelt haben. In anderen Sprachen erhalten meist alle Variablen in einer Deklarationsanweisung denselben Typ (in diesem Fall Integer).

Numerische Datentypen

Visual Basic stellt mehrere numerische Datentypen bereit – Integer (Ganzzahl), Long (lange Ganzzahl), Single (Gleitkommazahl einfacher Genauigkeit), Double (Gleitkommazahl doppelter Genauigkeit), und Currency (Währung). Bei Verwendung eines numerischen Datentyps wird im allgemeinen weniger Speicherplatz benötigt als beim Datentyp Variant.

Wenn Ihnen bekannt ist, daß eine Variable immer nur Ganzzahlen (z.B. 12) und keine Zahlen mit Nachkommastellen (z.B. 3,57) enthält, sollten Sie sie mit dem Typ Integer oder Long deklarieren. Dadurch werden die Operationen mit diesen Variablen schneller ausgeführt, und sie benötigen weniger Arbeitsspeicher als der Datentyp Variant. Besonders hilfreich sind die Ganzzahltypen als Zählervariablen in For...Next-Schleifen.

Weitere Informationen Weitere Informationen zu Kontrollstrukturen finden Sie im Abschnitt ÆEinführung in Kontrollstrukturen“ weiter unten in diesem Kapitel.

Wenn die Variable Nachkommastellen enthält, sollten Sie sie als Single-, Double-, oder Currency-Variable deklarieren. Der Datentyp Currency unterstützt bis zu vier Nachkommastellen und 15 Vorkommastellen. Dieser Typ ist ein schneller und genauer Festkomma-Datentyp, der besonders für Berechnungen mit Geldbeträgen geeignet ist. Die Gleitkommatypen Single and Double haben zwar größere Wertebereiche als Currency, können aber zu kleinen Rundungsfehlern führen.

Anmerkung Gleitkommawerte können als mmmEeee oder mmmDeee dargestellt werden, wobei mmm die Mantisse und eee der Exponent (die Potenz von 10) ist. Der größte positive Wert des Datentyps Single ist 3,402823E+38 oder 3,4 mal 10 hoch 38; der größte positive Wert des Datentyps Double ist 1,79769313486232D+308 oder ungefähr 1,8 mal 10 hoch 308. Wenn Sie die Mantisse und den Exponenten durch ein D trennen, wird der Wert als Datentyp Double interpretiert. Entsprechend wird der Wert bei der Verwendung von E als Datentyp Single interpretiert.

Der Datentyp Byte

Wenn die Variable binäre Daten enthält, können Sie sie als Datenfeld des Datentyps Byte deklarieren. (Datenfelder werden im Abschnitt ÆDatenfelder“ weiter unten in diesem Kapitel noch genauer erläutert.) Durch die Verwendung von Byte-Variablen zum Speichern binärer Daten werden die Daten bei Formatumwandlungen nicht verändert. Wenn Variablen vom Typ String zwischen ANSI und Unicode umgewandelt werden, werden alle binären Daten in der Variablen verändert und sind anschließend unbrauchbar. Visual Basic kann in den folgenden Situationen automatische Umwandlungen zwischen ANSI und Unicode vornehmen:

Beim Lesen aus Dateien

Beim Schreiben in Dateien

Beim Aufrufen von DLLs

Beim Aufrufen von Methoden und Eigenschaften aus Objekten

Alle Operatoren, die mit Integer-Werten arbeiten, unterstützen den Datentyp Byte, mit Ausnahme des unären Minus-Operators (negatives Vorzeichen). Da Byte ein vorzeichenloser Typ im Bereich von 0 bis 255 ist, kann er keine negativen Zahlen darstellen. Aus diesem Grund wandelt Visual Basic einen Wert vom Typ Byte für einen unären Minus-Operator in einen Integer-Wert mit Vorzeichen um.

Alle numerischen Variablen können anderen numerischen Variablen und Variablen vom Typ Variant zugewiesen werden. Die Nachkommastellen einer Gleitkommazahl werden von Visual Basic gerundet (nicht abgeschnitten), bevor der Wert einer Ganzzahl zugewiesen wird.

Weitere Informationen Ausführliche Informationen zu Unicode- und ANSI-Umwandlungen finden Sie in ÆInternationale Anwendungen“

Der Datentyp String

Wenn eine Variable immer nur Zeichenfolgen und niemals numerische Werte enthält, können Sie sie mit dem Datentyp String deklarieren:

Private S As String

Sie können der Variablen dann Zeichenfolgen zuweisen und sie mit den Zeichenfolgenfunktionen verarbeiten:

S = "Database"

S = Left(S, 4)

Eine Zeichenfolgenvariable oder ein Zeichenfolgenargument hat standardmäßig eine variable Länge: Die Zeichenfolge wird größer oder kleiner, wenn Sie ihr neue Daten zuweisen. Sie können aber auch Zeichenfolgen deklarieren, die eine feste Länge haben. Eine Zeichenfolge fester Länge können Sie mit folgender Syntax deklarieren:

String * Länge

Eine Zeichenfolge, die immer 50 Zeichen lang ist, können Sie z.B. mit dem folgenden Code deklarieren:

Dim EmpName As String * 50

Wenn Sie eine Zeichenfolge mit weniger als 50 Zeichen zuweisen, wird EmpName mit nachfolgenden Leerzeichen bis zum 50. Zeichen aufgefüllt. Weisen Sie dagegen eine zu lange Zeichenfolge zu, so werden die überzähligen Zeichen einfach abgeschnitten.

Da Zeichenfolgen fester Länge mit nachfolgenden Leerzeichen aufgefüllt werden, könnten die Funktionen Trim und RTrim bei der Arbeit mit solchen Zeichenfolgen hilfreich sein.

Zeichenfolgen fester Länge können in Standardmodulen als Public oder Private deklariert werden. In Formularen und Klassenmodulen müssen Zeichenfolgen fester Länge als Private deklariert werden.

Weitere Informationen Weitere Informationen hierzu finden Sie im Sprachverzeichnis der Online-Dokumentation unter Ltrim, Rtrim oder Trim.

Austauschen von Zeichenfolgen und Zahlen

Sie können eine Zeichenfolge einer numerischen Variablen zuweisen, wenn die Zeichenfolge einen numerischen Wert darstellt. Sie können auch einen numerischen Wert einer Zeichenfolgenvariablen zuweisen. Positionieren Sie beispielsweise eine Befehlsschaltfläche, ein Textfeld und ein Listenfeld in einem Formular. Geben Sie den folgenden Code in der Click-Ereignisprozedur der Befehlsschaltfläche ein. Starten Sie die Anwendung, und klicken Sie auf die Befehlsschaltfläche.

Private Sub Command1_Click()

Dim intX As Integer

Dim strY As String

strY = "123"

intX = strY ' Zeichenfolge an numerische Variable

' übergeben.

List1.AddItem Cos(strY) ' Kosinus der Zahl in der Zeichenfolge ' dem Listenfeld hinzufügen.

strY = Cos(strY) ' Kosinus an die Zeichenfolgenvariable

' übergeben.

Text1.Text = strY ' Zeichenfolgenvariable im Textfeld

' ausgeben.

End Sub

Visual Basic weist den Variablen automatisch den geeigneten Datentyp zu. Sie sollten beim Austauschen von Zeichenfolgen und Zahlen vorsichtig sein; wenn Sie einen nicht-numerischen Wert in der Zeichenfolge übergeben, wird ein Laufzeitfehler ausgelöst.

Der Datentyp Boolean

Wenn Sie über eine Variable verfügen, die einfache Ja/Nein- oder Ein/Aus-Informationen enthält, können Sie sie mit dem Typ Boolean deklarieren. Der Standardwert eines Wertes vom Typ Boolean ist False. Im folgenden Beispiel ist blnRunning eine Boolean-Variable, die eine einfache Ja/Nein-Einstellung speichert.

Dim blnRunning As Boolean

' Überprüfen, ob das Band läuft.

If Recorder.Direction = 1 Then

blnRunning = True

End if

Der Datentyp Date

Werte für Datums- und Zeitangaben können in Variablen mit dem Typ Date und in Variant-Variablen gespeichert werden. Die Datumsangaben haben in beiden Typen die gleichen allgemeinen Merkmale.

Weitere Informationen Mehr hierüber erfahren Sie unter ÆDatums- und Zeitwerte in Variant-Variablen“ in ÆWeiterführende Informationen zum Datentyp Variant“.

Wenn andere numerische Datentypen in den Typ Date umgewandelt werden, stellen die Werte links vom Dezimalzeichen Informationen zum Datum dar, während die Werte rechts vom Dezimalzeichen Zeitwerte darstellen. Mitternacht ist 0, und Mittag ist 0,5. Negative ganze Zahlen stellen Datumsangaben vor dem 30. Dezember 1899 dar.

Der Datentyp Object

Objektvariablen werden als 32-Bit-Adressen (4-Bytes) gespeichert, die auf Objekte innerhalb einer Anwendung oder in einer anderen Anwendung verweisen. Einer als Object deklarierten Variablen kann anschließend (mit der Set-Anweisung) ein Wert zugewiesen werden, der auf ein tatsächlich vorhandenes Objekt verweist, das von der Anwendung erkannt wird.

Dim objDb As Object

Set objDb = OpenDatabase("c:\vb5\biblio.mdb")

Versuchen Sie, beim Deklarieren von Objektvariablen spezifische Klassen (z.B. TextBox anstelle von Control oder, im obigen Fall, Database anstelle von Object) zu verwenden, anstatt das allgemeine Object anzugeben. Visual Basic kann Verweise auf die Eigenschaften und Methoden von Objekten mit bestimmten Typen auflösen, bevor Sie eine Anwendung starten. Dadurch wird die Anwendung zur Laufzeit schneller ausgeführt. Die einzelnen Klassen sind im Objektkatalog aufgeführt.

Wenn Sie mit den Objekten anderer Anwendungen arbeiten, sollten Sie nicht Variant oder das allgemeine Object verwenden, sondern die Objekte so deklarieren, wie sie in der Liste Klassen im Objektkatalog aufgeführt sind. Dadurch wird sichergestellt, daß Visual Basic den speziellen Objekttyp, auf den Sie verweisen, erkennt, so daß der Verweis zur Kompilierungszeit aufgelöst werden kann.

Weitere Informationen Weitere Informationen zum Erstellen und Zuweisen von Objekten und Objektvariablen finden Sie unter ÆErstellen von Objekten“ weiter unten in diesem Kapitel.

Umwandeln von Datentypen

In Visual Basic ist eine Reihe von Umwandlungsfunktionen verfügbar, mit denen Sie Werte in einen bestimmten Datentyp umwandeln können. Sie können zum Beispiel einen Wert in den Typ Currency umwandeln, indem Sie die CCur-Funktion verwenden:

Wochensatz = CCur(Stunden * Stundensatz)

Umwandlungs-

funktion

Umwandlung eines Ausdrucks in den Typ

Cbool Boolean

Cbyte Byte

Ccur Currency

Cdate Date

CDbl Double

Cint Integer

CLng Long

CSng Single

CStr String

Cvar Variant

CVErr Error

Anmerkung An eine Umwandlungsfunktion übergebene Werte müssen für den Zieldatentyp zulässig sein, sonst tritt ein Fehler auf. Wenn Sie z.B. versuchen, den Datentyp Long in den Datentyp Integer umzuwandeln, muß der Wert von Long innerhalb des für den Datentyp Integer zulässigen Bereichs liegen.

Weitere Informationen Weitere Informationen zu den einzelnen Umwandlungsfunktionen finden Sie im Sprachverzeichnis.

Der Datentyp Variant

Der Datentyp Variant kann alle systemdefinierten Arten von Daten speichern. Sie müssen diese Typen nicht umwandeln, wenn Sie sie einer Variant-Variablen zuweisen. Visual Basic führt automatisch alle nötigen Umwandlungen durch. Beispiel:

Dim EinWert ' Variant durch Voreinstellung.

EinWert = "17" ' EinWert auf "17" (Zeichenfolge mit zwei

' Zeichen) setzen.

EinWert = EinWert - 15 ' EinWert enthält nun den

' numerischen Wert 2.

EinWert = "U" & EinWert ' EinWert enthält nun "U2" ' Zeichenfolge mit zwei Zeichen).

Obwohl Sie bei Operationen mit Variant-Variablen nicht besonders darauf achten müssen, welche Arten von Daten sie tatsächlich enthalten, sollten Sie doch einige Dinge beachten.

Wenn Sie arithmetische Operationen oder Funktionen mit einer Variant-Variablen ausführen, muß sie eine gültige Zahl enthalten. Genaue Informationen hierzu finden Sie im Abschnitt ÆNumerische Werte in Variant-Variablen“ unter ÆWeiterführende Informationen zum Datentyp Variant“ (nur in de Online-Dokumentation).

Zum Verketten von Zeichenfolgen müssen Sie den &-Operator anstelle des +-Operators verwenden. Ausführliche Informationen hierzu finden Sie unter ÆZeichenfolgen in Variant-Variablen“ in ÆWeiterführende Informationen zum Datentyp Variant“.

Variant-Variablen können nicht nur wie andere Standarddatentypen funktionieren, sondern enthalten zusätzlich drei spezielle Werte: Empty, Null und Error.

Der Wert Empty

Manchmal müssen Sie bestimmen, ob einer Variablen überhaupt ein Wert zugewiesen wurde. Eine Variant-Variable hat den Wert Empty, solange ihr noch kein Wert zugewiesen wurde. Der Wert Empty ist ein besonderer Wert und unterscheidet sich von 0, einer Nullzeichenfolge ("") und dem Wert Null. Mit der IsEmpty-Funktion können Sie überprüfen, ob der Wert Empty vorliegt:

If IsEmpty(Z) Then Z = 0

Wenn eine Variant-Variable den Wert Empty enthält, können Sie sie in Ausdrücken verwenden. Visual Basic setzt dann (je nach Ausdruck) 0 oder eine Nullzeichenfolge ein.

Der Wert Empty wird ersetzt, sobald der Variant-Variablen ein beliebiger Wert (auch eine Nullzeichenfolge, der Wert 0 oder der Wert Null) zugewiesen wird. Sie können eine Variant-Variable auf den Wert Empty zurücksetzen, indem Sie ihr das Schlüsselwort Empty zuweisen.

Der Wert Null

Der Datentyp Variant kann einen weiteren besonderen Wert enthalten: den Wert Null. Der Wert Null wird gewöhnlich in Datenbankanwendungen verwendet, um unbekannte oder fehlende Daten anzuzeigen. Aufgrund dieser Verwendung hat der Wert Null einige einzigartige Merkmale:

Ausdrücke, die den Wert Null enthalten, ergeben immer den Wert Null. Null pflanzt sich sozusagen durch den ganzen Ausdruck fort. Wird ein Teil des Ausdrucks als Wert Null ausgewertet, dann hat der ganze Ausdruck den Wert Null.

Wenn Sie den Wert Null, eine Variant-Variable mit dem Wert Null oder einen Ausdruck, der den Wert Null ergibt, als Argument an eine Funktion übergeben, wird auch in den meisten Fällen der Wert Null zurückgegeben.

Null-Werte pflanzen sich in integrierten Funktionen fort, die einen Variant-Datentyp zurückgeben.

Sie können den Wert Null auch mit dem Schlüsselwort Null zuweisen:

Z = Null

Mit der Funktion IsNull können Sie feststellen, ob eine Variant-Variable den Wert Null enthält:

If IsNull(X) And IsNull(Y) Then

Z = Null

Else

Z = 0

End If

Wenn Sie einer Variablen eines anderen Datentyps (nicht Variant) den Wert Null zuweisen, wird ein auffangbarer Fehler ausgelöst. Die Zuweisung des Wertes Null an eine Variant-Variable löst keinen Fehler aus, und der Wert Null setzt sich in Ausdrücken mit Variant-Variablen fort (allerdings nicht in bestimmten Funktionen). Sie können den Wert Null von jeder Function-Prozedur aus zurückgeben, die einen Wert vom Typ Variant ergibt.

Variablen werden nicht auf den Wert Null gesetzt, wenn Sie ihnen nicht explizit den Wert Null zuweisen. Wenn Sie den Wert Null nicht in Ihrer Anwendung verwenden, müssen Sie daher keinen Code schreiben, der den Wert überprüft oder behandelt.

Weitere Informationen Weitere Informationen zur Verwendung von Null in Ausdrücken finden Sie unter ÆNull“ im Sprachverzeichnis.

Der Wert Error

In einer Variant-Variablen ist Error ist ein spezieller Wert, der eine aufgetretene Fehlerbedingung anzeigt. Im Unterschied zu anderen Arten von Fehlern fällt die übliche Fehlerbehandlung auf Anwendungsebene jedoch weg. So ist es Ihnen oder der Anwendung selbst möglich, anhand des Fehlerwertes alternative Lösungswege zu suchen. Fehlerwerte werden erstellt, indem reelle Zahlen mit Hilfe der CVErr-Funktion umgewandelt werden.

Weitere Informationen Weitere Informationen zur Verwendung des Wertes Error in Ausdrücken finden Sie unter ÆCVErr-Funktion“ im Sprachverzeichnis. Näheres zur Fehlerbehandlung erfahren Sie in ÆFehlerbeseitigung im Code und Fehlerbehandlung“. Einzelheiten zum Datentyp Variant enthält der Abschnitt ÆWeiterführende Informationen zum Datentyp Variant“.


Typ-Umwandlungsfunktionen

Jede Funktion legt für einen bestimmtenDatentyp zwingend einenAusdruck fest.

Syntax

CBool(Ausdruck)

CByte(Ausdruck)

CCur(Ausdruck)

CDate(Ausdruck)

CDbl(Ausdruck)

CDec(Ausdruck)

CInt(Ausdruck)

CLng(Ausdruck)

CSng(Ausdruck)

CVar(Ausdruck)

CStr(Ausdruck)

Das erforderlicheArgument Ausdruck ist ein Zeichenfolgenausdruck oder ein numerischer Ausdruck.

Rückgabetypen

Der Funktionsname legt den Rückgabetyp wie folgt fest:

Funktion Rückgabetyp Bereich des Arguments Ausdruck

CBool Boolean Eine gültige Zeichenfolge oder ein gültiger numerischer Ausdruck.

CBool-Funktion (Beispiel)

In diesem Beispiel wird die CBool-Funktion verwendet, um einen Ausdruck in einen Wert vom Typ Boolean umzuwandeln. Liefert der Ausdruck einen Wert ungleich Null, so gibt CBool den Wert True zurück, andernfalls gibt CBool den Wert False zurück.

Dim A, B, TestWert

A = 5: B = 5 ' Variablen initialisieren.

TestWert = CBool(A = B) ' TestWert enthält True.

A = 0 ' Variable definieren.

TestWert = CBool(A) ' TestWert enthält False.


CByte Byte 0 bis 255.

CByte-Funktion (Beispiel)

In diesem Beispiel wird die CByte-Funktion verwendet, um einen Ausdruck in einen Wert vom Typ Byte umzuwandeln.

Dim Double1, Byte1

Double1 = 125.5678 ' Double1 ist ein Double.

Byte1 = CByte(Double1) ' Byte1 enthält 126.


CCur Currency -922.337.203.685.477,5808 bis 922.337.203.685.477,5807.

CCur-Funktion (Beispiel)

In diesem Beispiel wird die CCur-Funktion verwendet, um einen Ausdruck in einen Wert vom Typ Currency umzuwandeln.

Dim TestDouble, TestCur

TestDouble = 543.214588 ' TestDouble hat den Typ Double.

TestCur = CCur(TestDouble * 2) ' Ergebnis von TestDouble * 2

' (1086.429176) in Typ

' Currency umwandeln (1086.4292).


CDate Date Ein beliebiger gültigerDatumsausdruck.

CDbl Double -1,79769313486232E308 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 skalierte Ganzzahlen, d.h. Zahlen ohne Dezimalstellen. Für Zahlen mit 28 Dezimalstellen gilt der Bereich

+/-7,9228162514264337593543950335. Die kleinste mögliche Zahl ungleich Null ist 0,0000000000000000000000000001.

CInt Integer -32.768 bis 32.767; Nachkommastellen werden gerundet.

CLng Long -2.147.483.648 bis 2.147.483.647; Nachkommastellen werden gerundet.

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

Cvar Variant Numerische Werte im Bereich des Typs Double. Nichtnumerische Werte im Bereich des Typs String.

CStr String Rückgabe für CStr hängt vom Argument Ausdruck ab.

Bemerkungen

Wenn das an die Funktion weitergegebene Argument Ausdruck außerhalb des Bereichs des Datentyps liegt, in den es umgewandelt werden soll, tritt eine Fehler auf.

Sie können Ihren Code mit Hilfe der Funktionen zum Umwandeln von Datentypen dokumentieren, um anzuzeigen, daß das Ergebnis einer Operation einen bestimmten, vom Standarddatentyp abweichenden Datentyp haben soll. Mit CCur können Sie zum Beispiel Berechnungen explizit im Währungsformat durchführen, die normalerweise ganzzahlige Werte oder Werte einfacher bzw. doppelter Genauigkeit verwenden würden. Die CCur-Funktion stellt eine Alternative zu Val dar, die international gültige Umwandlungen eines beliebigen Datentyps in einen anderen ermöglicht. So werden zum Beispiel durch die Verwendung von Ccur verschiedene, vomGebietsschema des Computers abhängige Dezimalzeichen ebenso erkannt wie unterschiedliche Tausendertrennzeichen und Währungseinstellungen.

Wenn die Nachkommastelle genau 0,5 beträgt, wird der Wert mit CInt und CLng immer bis zur nächsten geraden Ganzzahl gerundet. So wird beispielsweise 0,5 zu 0 abgerundet und 1,5 zu 2 aufgerundet. CInt und CLng unterscheiden sich von der Fix- und auch der Int-Funktion, die die Nachkommastellen einer Zahl nicht runden, sondern sie verkürzen. Außerdem entspricht der Rückgabetyp von Fix und Int immer dem Typ des an sie übergebenen Wertes.

Mit der IsDate-Funktion können Sie bestimmen, ob Datum in ein Datum oder eine Uhrzeit umgewandelt werden kann. CDate erkennt sowohlDatumsliterale und Zeitliterale als auch bestimmte Zahlen, die im zulässigen Bereich für ein Datum liegen. Beim Umwandeln einer Zahl in ein Datumsformat wird der ganzzahlige Teil für das Datum verwendet. Nachkommastellen der Zahl werden in eine Zeitangabe (beginnend bei 0:00) umgewandelt.

CDate erkennt alle Datumsformate, die im Gebietsschema des Systems ausgewählt werden können. Die richtige Reihenfolge von Tag, Monat und Jahr kann nicht immer bestimmt werden, wenn sich das Datumsformat von den im Gebietsschema verfügbaren Formaten unterscheidet. Außerdem wird ein langes Datumsformat nicht erkannt, wenn es auch eine Zeichenfolge für den Wochentag enthält.

Die CVDate-Funktion ist ebenfalls aus Gründen der Kompatibilität zu früheren Visual Basic-Versionen verfügbar. Die Syntax der CVDate-Funktion entspricht genau der Syntax der CDate-Funktion. Der einzige Unterschied besteht darin, daß CVDate nicht den Datentyp Date liefert, sondern den Datentyp Variant mit dem Untertyp Date. Aufgrund des integrierten Datentyps Date wird CVDate nicht mehr benötigt. Dasselbe Ergebnis können Sie auch erreichen, indem Sie einen Ausdruck in den Datentyp Date umwandeln und ihn dann einer Variablen vom Typ Variant zuweisen. Mit demselben Verfahren können auch alle anderen integrierten Datentypen in die entsprechenden Untertypen des Datentyps Variant umgewandelt werden.

Anmerkung Die CDec-Funktion gibt keinen diskreten Datentyp zurück; statt dessen wird immer ein Variant zurückgegeben, dessen Wert in einen Dezimal-Untertyp umgewandelt wird.