文字列とその他の型との変換

更新 : 2007 年 11 月

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

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

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

数値から文字列への変換

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 でオブジェクトを別の型に変換する

概念

拡大変換と縮小変換

暗黙の型変換と明示的な型変換

変換時の値の変化

配列の変換

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

参照

データ型の概要 (Visual Basic)

データ型変換関数

その他の技術情報

Visual Basic における型変換