文字列とその他の型との変換 (Visual Basic)
数値、Boolean
、または日付/時刻値を String
に変換できます。 文字列の内容が変換先データ型の有効な値と解釈される場合は、逆方向 (文字列値を数値、Boolean
、または Date
) に変換することもできます。 そうでない場合は、実行時エラーが発生します。
これらのすべての代入での変換は、どちらの方向でも縮小変換です。 型変換キーワード (CBool
、CByte
、CDate
、CDbl
、CDec
、CInt
、CLng
、CSByte
、CShort
、CSng
、CStr
、CUInt
、CULng
、CUShort
、および CType
) を使用する必要があります。 Format 関数や Val 関数を使用すると、文字列と数値の間の変換をさらに制御できます。
クラスまたは構造体を定義している場合は、String
とクラスまたは構造体の型との間に型変換演算子を定義できます。 詳細については、「方法:変換演算子を定義する」を参照してください。
数値から文字列への変換
Format
関数を使用して、数値を書式設定された文字列に変換できます。これは、該当する数字だけでなく、通貨記号 ($
など)、3 桁ごとの区切りつまり "桁区切り記号" (,
など)、小数点 (.
など) のような書式設定記号を含むことができます。 Format
は、Windows の [コントロール パネル] に指定された [地域のオプション] 設定に従って適切な記号を自動的に使用します。
次の例のように、連結 (&
) 演算子を使用して、数値を文字列に暗黙に変換できることに注意してください。
' The following statement converts count to a String value.
Str = "The total count is " & count
文字列から数値への変換
Val
関数を使用すると、明示的に文字列の数字を数値に変換できます。 Val
は、数字、スペース、タブ、改行、またはピリオド以外の文字が見つかるまで文字列を読み取ります。 シーケンス "&O" と "&H" によって記数法の基数が変更され、これでスキャンが終了します。 読み取りを終了するまで、Val
は該当するすべての文字を数値に変換します。 たとえば、次のステートメントでは値 141.825
が返されます。
Val(" 14 1.825 miles")
Visual Basic が文字列を数値に変換するとき、Windows の [コントロール パネル] の [地域のオプション] 設定を使用して、桁区切り記号、小数点、および通貨記号を解釈します。 つまり、変換は 1 つの設定では成功しますが、別の設定では成功しない可能性があります。 たとえば、"$14.20"
は英語 (米国) のロケールでは許容されますが、フランス語のロケールでは許容されません。
関連項目
.NET