詳細情報 : ある変数の型を別の型に変換する
更新 : 2007 年 11 月
これまでのレッスンで説明したように、変数にはさまざまな型があります。型によって、変数に格納できるデータの種類が決定されます。Integer 変数は小数点のない数値のみ格納できます。String 変数はテキストのみ格納できます。
では、String を入力する必要のある TextBox コントロールに、Integer を表示する場合はどうなるでしょうか。その場合は、データをある型から別の型に変換する必要があります。このトピックでは、データをある型から別の型に変換する方法を説明し、データ変換に使用するいくつかのテクニックと、その一般的な落とし穴について説明します。
変数をテキストに変換する
Visual Basic のすべての変数は、CStr (Convert to String の略) と呼ばれる特殊な関数を使用することにより、テキストに変換できます。この関数は、その名前が示すとおり、変数によって表されたデータを String として返します。次の手順は、Integer をテキストに変換する簡単な例を示しています。
やってみよう
変数をテキストに変換するには
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスの [テンプレート] ペインで、[Windows アプリケーション] をクリックします。
[プロジェクト名] ボックスに「Conversion」と入力し、[OK] をクリックします。
新しい Windows フォーム プロジェクトが開きます。
フォームをダブルクリックしてコード エディタを開きます。
Form1_Load イベント ハンドラに次のコードを追加します。
Dim anInteger As Integer = 54 MsgBox(CStr(anInteger))
このコードは、まず anInteger という Integer 変数を宣言し、これに 54 という値を代入します。その後、CStr 関数を呼び出すことにより、その値をテキストに変換し、メッセージ ボックスに表示します。
F5 キーを押して、アプリケーションをビルドおよび実行します。54 という文字を含むメッセージ ボックスが表示されます。
次の手順も試してみてください。コード エディタで、MsgBox(CStr(anInteger)) という行を MsgBox(anInteger) に変更し、F5 キーを押して実行します。どうなりましたか。プログラムは前の手順とまったく同様に動作します。Visual Basic は高機能であるため、Integer をメッセージ ボックスに表示するためには、これをテキストに変換する必要があることを判断できるのです。しかし、自動的に変換できない変数の型も多いため、すべての状況でこの機能に依存できるわけではありません。このため、変数が自動的にテキストに変換される場合でも、常に CStr 関数を使用することをお勧めします。
CStr 関数は、Integer 変数をテキストに変換するだけでなく、Double や Long など、任意の数値データ型に使用できます。また、Date データ型や Boolean データ型をテキストに変換するときにも使用できます。データ型の詳細については、「詳細情報 : データ型」を参照してください。
数値データ型間で変換する
演算に関するレッスンで説明したように、算術演算の結果を Integer で表現できないことがあります。Visual Basic には、数値をテキストに変換する関数と同様に、変数をある数値データ型から別の数値データ型に変換する関数もあります。たとえば、CDbl (Convert to Double の略) 関数を算術演算で使用すると、処理対象が Integer 変数である場合に小数の値を返すことができます。次の手順は、2 つの整数を除算するときに CDbl 関数を使用する方法を示しています。
やってみよう
数値データ型間で変換するには
コード エディタで、前の手順で入力したコードを削除し、次のコードを入力します。
Dim A As Integer = 1 Dim B As Integer = 2 MsgBox(CDbl(A / B))
このコードは、まず 2 つの Integer 変数 (A および B) を宣言し、これらに 1 および 2 という値を代入します。その後、CDbl 関数を使用して、除算操作の結果 (A / B) を変換し、メッセージ ボックスに表示します。
F5 キーを押して、アプリケーションをビルドおよび実行します。0.5 という文字を含むメッセージ ボックスが表示されます。
Visual Basic には、他の型の数値変数に使用する関数もあります。たとえば、Double 型の 2 つの変数を加算して、その結果を最も近い整数に丸める場合は、CInt 関数を使用します。その他の数値変換関数には、CByte、CDec、CLng、および CShort があります。Visual Basic のすべての変換関数を記載した一覧については、「データ型変換関数」を参照してください。
次の手順
このレッスンでは、数値変数をテキストに変換する方法と、数値変数の型を別の型に変換する方法を説明しました。次のレッスン (「比較 : 値を比較するための式の使用」) では、式を評価する方法を説明します。
参照
処理手順
概念
参照
Date Format 定数 (Visual Basic 6.0 ユーザー向け)