Konvertierungen zwischen Zeichenfolgen und anderen Typen (Visual Basic)
Sie können einen numerischen, Boolean
- oder Datums-/Uhrzeitwert in einen String
-Wert konvertieren. Sie können auch in umgekehrter Richtung konvertieren – von einem Zeichenfolgenwert in einen numerischen, Boolean
- oder Date
-Wert – vorausgesetzt, der Inhalt der Zeichenfolge kann als gültiger Wert des Zieldatentyps interpretiert werden. Wenn dies nicht der Fall ist, tritt ein Laufzeitfehler auf.
Die Konvertierungen für alle diese Zuweisungen in beide Richtungen sind eingrenzende Konvertierungen. Sie sollten die Typkonvertierungs-Schlüsselwörter (CBool
, CByte
, CDate
, CDbl
, CDec
, CInt
, CLng
, CSByte
, CShort
, CSng
, CStr
, CUInt
, CULng
, CUShort
und CType
) verwenden. Die Format- und Val-Funktionen geben Ihnen zusätzliche Kontrolle über Konvertierungen zwischen Zeichenfolgen und Zahlen.
Wenn Sie eine Klasse oder Struktur definiert haben, können Sie Typkonvertierungsoperatoren zwischen String
und dem Typ Ihrer Klasse oder Struktur definieren. Weitere Informationen finden Sie unter How to: Define a Conversion Operator.
Konvertierung von Zahlen in Zeichenfolgen
Sie können die Format
-Funktion verwenden, um eine Zahl in eine formatierte Zeichenfolge zu konvertieren, die nicht nur die entsprechenden Ziffern, sondern auch Formatierungssymbole wie ein Währungssymbol (z. B. $
), Tausendertrennzeichen oder Zifferngruppierungssymbole (z. B. ,
) und ein Dezimaltrennzeichen (z. B. .
) enthalten kann. Format
verwendet automatisch die entsprechenden Symbole gemäß den Einstellungen für Regionale Optionen, die in der Windows-Systemsteuerung angegeben werden.
Beachten Sie, dass der Verkettungsoperator (&
) eine Zahl implizit in eine Zeichenfolge konvertieren kann, wie das folgende Beispiel zeigt.
' The following statement converts count to a String value.
Str = "The total count is " & count
Konvertierung von Zeichenfolgen in Zahlen
Sie können die Val
-Funktion verwenden, um die Ziffern in einer Zeichenfolge explizit in eine Zahl zu konvertieren. Val
liest die Zeichenfolge, bis die Funktion auf ein anderes Zeichen als eine Ziffer, ein Leerzeichen, einen Tabstopp, einen Zeilenvorschub oder einen Punkt trifft. Die Sequenzen „&O“ und „&H“ ändern die Basis des Zahlensystems und beenden die Überprüfung. Bis die Funktion aufhört zu lesen, konvertiert Val
alle entsprechenden Zeichen in einen numerischen Wert. Die folgende Anweisung gibt beispielsweise den Wert 141.825
zurück.
Val(" 14 1.825 miles")
Wenn Visual Basic eine Zeichenfolge in einen numerischen Wert konvertiert, werden die Einstellungen Regionale Optionen verwendet, die in der Windows-Systemsteuerung angegeben werden, um das Tausendertrennzeichen, das Dezimaltrennzeichen und das Währungssymbol zu interpretieren. Dies bedeutet, dass eine Konvertierung mit einer Einstellung erfolgreich sein kann, mit einer anderen jedoch nicht. Beispielsweise ist "$14.20"
im Gebietsschema „Englisch (USA)“ akzeptabel, aber nicht in einem französischen Gebietsschema.