文字列とその他の型との変換 (Visual Basic)

数値、ブール型 (Boolean)、または日付/時刻値は、文字列型 (String) に変換できます。 文字列の内容が変換先のデータ型での有効な値として解釈される場合には、逆方向 (文字列値から数値、ブール型 (Boolean)、日付型 (Date) にも変換できます。 変換できない場合は、ランタイム エラーが発生します。

これらすべての代入による変換は、いずれの方向の場合でも縮小変換です。 型変換キーワード (CBool、CByte、CDate、CDbl、CDec、CInt、CLng、CSByte、CShort、CSng、CStr、CUInt、CULng、CUShort、および CType) を使用する必要があります。 Format 関数および Val 関数を使用すると、文字列と数値の変換を詳細に制御できます。

定義されたクラスまたは構造体がある場合、String と、クラスまたは構造体の型との間での型変換演算子を定義できます。 詳細については、「方法: 変換演算子を定義する (Visual Basic)」を参照してください。

数値から文字列への変換

Format 関数を使用すると、数値を書式指定された文字列に変換できます。この文字列には、該当する数字だけでなく、通貨記号 ($ など)、桁区切り記号または位取り記号 (, など)、小数点 (. など) のような書式指定シンボルも含めることができます。 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 の [コントロール パネル][地域のオプション] の設定を使用して、桁区切り記号、小数点の記号、および通貨記号が解釈されます。 つまり、ある設定では変換が正常に行われても、別の設定では失敗する場合があります。 たとえば、"$14.20" は [英語 (U.S.)] ロケールでは受け入れることができますが、[フランス語] ロケールではできません。

参照

処理手順

方法: Visual Basic でオブジェクトを別の型に変換する

参照

データ型の概要 (Visual Basic)

データ型変換関数 (Visual Basic)

概念

拡大変換と縮小変換 (Visual Basic)

暗黙の型変換と明示的な型変換 (Visual Basic)

変換時の値の変化 (Visual Basic)

配列の変換 (Visual Basic)

.NET Framework ベースの国際対応アプリケーションの概要

その他の技術情報

Visual Basic における型変換