Genauere Betrachtung: Konvertieren zwischen Variablentypen
Aktualisiert: November 2007
Wie in vorangegangenen Lektionen bereits erläutert, gibt es verschiedene Variablentypen. Der Typ bestimmt, welche Daten eine Variable aufnehmen kann. Eine Integer-Variable kann nur numerische Daten ohne Dezimalzeichen speichern. Eine String-Variable kann nur Text enthalten.
Was passiert, wenn Sie eine Integer in einem TextBox-Steuerelement anzeigen möchten, das eine String erfordert? Die Antwort lautet, dass die Daten von einem Typ in einen anderen konvertiert werden müssen. In dieser Lektion erfahren Sie, wie Sie Datentypen konvertieren, und Sie erlernen Techniken der Datenkonvertierung, wobei auch auf häufig gemachte Fehler eingegangen wird.
Konvertieren von Variablen in Text
Jede Variable in Visual Basic kann mithilfe einer speziellen Funktion mit der Bezeichnung CStr (Abkürzung für: Convert to String) in Text konvertiert werden. Wie der Name bereits verrät, gibt diese Funktion die von der Variablen dargestellten Daten als eine String zurück. Die folgende Prozedur veranschaulicht in einem einfachen Beispiel die Konvertierung einer Integer in Text.
Übung
So konvertieren Sie eine Variable in Text
Klicken Sie im Menü Datei unter Neu auf den Befehl Projekt.
Klicken Sie im Dialogfeld Neues Projekt im Bereich Vorlagen auf Windows-Anwendung.
Geben Sie Conversion in das Feld Name ein, und klicken Sie dann auf OK.
Ein neues Windows Forms-Projekt wird geöffnet.
Doppelklicken Sie auf das Formular, um den Code-Editor zu öffnen.
Geben Sie im Form1_Load-Ereignishandler folgenden Code ein.
Dim anInteger As Integer = 54 MsgBox(CStr(anInteger))
Dieser Code deklariert eine Ganzzahlvariable mit der Bezeichnung anInteger, weist ihr den Wert 54 zu, konvertiert dann den Wert in Text und zeigt ihn durch Aufrufen der CStr-Funktion in einem Meldungsfeld an.
Drücken Sie F5, um die Anwendung zu erstellen und auszuführen. Ein Meldungsfeld mit der Zahl 54 wird angezeigt.
Versuchen Sie spaßeshalber etwas anderes. Ändern Sie im Code-Editor die Zeile MsgBox(CStr(anInteger)) in MsgBox(anInteger), und drücken Sie F5, um die Zeile auszuführen. Was passiert? Das Programm verhält sich genau so wie zuvor. Visual Basic ist intelligent genug zu erkennen, dass der Integer-Wert in Text konvertiert werden soll, der in einem Meldungsfeld angezeigt werden soll. Sie können sich jedoch nicht in allen Fällen auf dieses Verhalten verlassen. Es gibt viele Variablentypen, die nicht automatisch konvertiert werden können. Daher ist es empfehlenswert, immer die CStr-Funktion zu verwenden, auch wenn eine Variable automatisch in Text konvertiert werden würde.
Außer zum Konvertieren von Integer-Variablen in Text kann die CStr-Funktion auch für jeden anderen numerischen Datentyp verwendet werden, z. B. Double oder Long. Außerdem ist es möglich, den Date-Datentyp und den Boolean-Datentyp in Text zu konvertieren. Weitere Informationen zu Datentypen finden Sie unter Genauere Betrachtung: Datentypen.
Konvertieren zwischen numerischen Datentypen
Wie Sie in der Arithmetiklektion erfahren haben, kann das Ergebnis einer arithmetischen Operation manchmal nicht als Integer ausgedrückt werden. Neben der Funktion zum Konvertieren von Zahlen in Text verfügt Visual Basic auch über Funktionen für die Konvertierung von Variablen zwischen verschiedenen numerischen Datentypen. Beispielsweise können Sie die CDbl-Funktion (Convert to Double) in einer arithmetischen Operation dazu verwenden, bei der Arbeit mit Integer-Variablen Bruchzahlen zurückzugeben. Die folgende Prozedur zeigt, wie die CDbl-Funktion bei der Division von zwei ganzen Zahlen verwendet wird.
Übung
So konvertieren Sie numerische Datentypen
Löschen Sie im Code-Editor den Code, den Sie in der vorherigen Prozedur eingegeben haben, und geben Sie folgenden neuen Code ein:
Dim A As Integer = 1 Dim B As Integer = 2 MsgBox(CDbl(A / B))
Dieser Code deklariert zwei Integer-Variablen (A und B), weist ihnen die Werte 1 und 2 zu und konvertiert dann mithilfe der CDbl-Funktion das Ergebnis der Division (A / B) und zeigt es in einem Meldungsfeld an.
Drücken Sie F5, um die Anwendung zu erstellen und auszuführen. Ein Meldungsfeld mit der Zahl 0.5 wird angezeigt.
Visual Basic verfügt außerdem über Funktionen für andere Typen numerischer Variablen. Wenn Sie beispielsweise zwei Variablen des Typs Double hinzufügen und das Ergebnis auf die nächste ganze Zahl runden möchten, verwenden Sie die CInt-Funktion. Andere numerische Konvertierungsfunktionen sind CByte, CDec, CLng und CShort. Eine Liste aller Visual Basic-Konvertierungsfunktionen finden Sie unter Funktionen für die Typkonvertierung.
Nächste Schritte
In dieser Lektion haben Sie gelernt, wie Sie numerische Variablen in Text und verschiedene Typen numerischer Variablen untereinander konvertieren. In der nächsten Lektion, Vergleiche: Ausdrücke zum Vergleichen von Werten, erfahren Sie, wie Sie Ausdrücke auswerten.
Siehe auch
Aufgaben
Arithmetik: Erstellen von Ausdrücken mit Variablen und Operatoren
Konzepte
Genauere Betrachtung: Datentypen
Referenz
Date Format-Konstanten für Visual Basic 6.0-Benutzer