データ型の変更点 (Visual Basic 6.0 ユーザー向け)
更新 : 2007 年 11 月
Visual Basic 2008 では、他のプログラミング言語や共通言語ランタイムとの相互運用性のために、データ型が更新されています。この変更によって、データ型の宣言、使用方法、および変換に影響があります。
Visual Basic 6.0
Visual Basic 6.0 では、Deftype ステートメント (DefBool、DefByte、DefCur、DefDate、DefDbl、DefDec、DefInt、DefLng、DefObj、DefSng、DefStr、および DefVar) を使用して、変数の既定のデータ型を設定します。
通貨に関係する計算や固定小数点を含む計算では、Currency 型を使用します。
Date 型は、8 バイトを使用して Double 形式で格納されます。
整数を保持する 2 つの Variant 変数を乗算したときにオーバーフロー条件が発生した場合、結果のデータ型は Double に変更されます。
あるユーザー定義型の変数を別のユーザー定義型の変数にコピーするには、LSet ステートメントおよび RSet ステートメントを使用します。
Visual Basic 2008
Deftype ステートメントは Visual Basic 2008 ではサポートされていません。Currency データ型もサポートされません。代わりに、新しい Decimal 型を使用します。この型は、通貨の変数および計算に関して、整数および小数の両方でより多くの桁を処理できます。Decimal は、共通言語ランタイムでも直接サポートされます。
Visual Basic 2008 では、Date 型は共通言語ランタイムの DateTime 型を使用します。この型は、8 バイトの整数値です。これらの表現の相違のため、Date 型と Double 型の間で暗黙の型変換は行われません。Double と Visual Basic 6.0 表記の Date の間で型変換を実行するには、System 名前空間の DateTime 構造体の ToOADate メソッドと FromOADate メソッドを使用します。
整数を含む 2 つの Object 変数を乗算してオーバーフローが発生した場合、結果は 64 ビットの Long 型になります。
LSet および RSet を使用して、あるデータ型を別のデータ型には代入することはできません。このような操作は、タイプ セーフではない必要があります。特に構造体では、検証不能なコードになる可能性があります。
参照
概念
参照
10 進型 (Decimal) (Visual Basic)