Visual Basic 6.0 使用者可以進行的資料型別變更
更新:2007 年 11 月
為了與其他程式設計語言和 Common Language Runtime 的互通性 (Interoperability),Visual Basic 2008 更新了資料型別。這些變更影響了資料型別宣告、使用方式和轉換的進行。
Visual Basic 6.0
在 Visual Basic 6.0 中,您是使用 Deftype 陳述式 (Statement) (DefBool、DefByte、DefCur、DefDate、DefDbl、DefDec、DefInt、DefLng、DefObj、DefSng、DefStr 和 DefVar) 來設定變數的預設型別。
Currency 資料型別可用來進行與貨幣有關的計算及固定點計算。
以 Double 格式儲存的 Date 使用八個位元組。
如果包含整數的兩個 Variant 變數倍增,則溢位情況會造成結果的資料型別被變更為 Double。
LSet 和 RSet 陳述式,可用來將某種使用者定義型別的變數,複製成不同使用者定義型別的變數。
Visual Basic 2008
Visual Basic 2008 不支援 Deftype 陳述式,也不支援 Currency 資料型別。請改用新的 Decimal 資料型別,因為對所有貨幣變數或計算而言,它可在小數點兩邊處理更多位數,且 Common Language Runtime 也直接支援 Decimal。
在 Visual Basic 2008 中,Date 資料型別會使用 Common Language Runtime 的 DateTime 資料型別,這是一個八位元組的整數值。因為這些不同的表示法,Date 和 Double 資料型別之間並沒有隱含的轉換。若要在 Double 與 Visual Basic 6.0 的 Date 表示之間轉換,請使用 System 命名空間中 DateTime 結構的 ToOADate 和 FromOADate 方法。
如果包含整數的兩個 Object 變數的倍增造成溢位的話,結果會被變更為 64 位元的 Long 資料型別。
您無法使用 LSet 和 RSet 來將一種資料型別指定給另一種資料型別。這麼做需要執行不安全型別的作業 (特別是對結構),而造成無法確認的程式碼。