VB6.0基本數據類型有Boolean、Byte、Integer、Long、Currency、Decimal、Single、Double、String、Date、Object、Variant共12種。以下分別介紹它們的用法。
1、Boolean 數據類型
Boolean 變量存儲為 16 位(2 個字節)的數值形式,但只能是 True 或是 False。Boolean 變量的值顯示為 True 或 False(在使用 Print 的時候),或者 #TRUE# 或 #FALSE#(在使用 Write # 的時候)。使用關鍵字 True 與 False 可將 Boolean 變量賦值為這兩個狀態中的一個。
當數字數據類型值轉換為 Boolean 時,0 變為 False,所有其它值變為 True。當 Boolean 值轉換為數字類型時,False 變為 0,True 變為 -1。
2、Byte 數據類型
Byte 變量存儲為單精度型、無符號整型、8 位(1個字節)的數值形式,范圍在 0 至 255 之間。Byte 數據類型在存儲二進制數據時很有用。
3、Integer 數據類型
Integer 變量存儲為 16位(2 個字節)的數值形式,其范圍為 -32,768 到 32,767 之間。Integer 的類型聲明字符是百分比符號 (%)。
也可以用 Integer 變量來表示枚舉值。枚舉值可包含一個有限集合,該集合包含的元素都是唯一的整數,每一個整數都在它使用時的上下文當中有其特殊意義。枚舉值為在已知數量的選項中做出選擇提供了一種方便的方法,例如,black = 0,white = 1 等等。較好的編程作法是使用 Const 語句將每個枚舉值定義成常數。
4、Long 數據類型
Long(長整型)變量存儲為 32 位(4 個字節)有符號的數值形式,其范圍從 -2,147,483,648 到 2,147,483,647。Long 的類型聲明字符為和號 (&)。
5、Currency 數據類型
Currency 變量存儲為 64 位(8 個字節)整型的數值形式,然后除以 10,000 給出一個定點數,其小數點左邊有 15 位數字,右邊有 4 位數字。這種表示法的范圍可以從 -922,337,203,685,477.5808 到 922,337,203,685,477.5807。Currency 的類型聲明字符為at號 (@)。
Currency 數據類型在貨幣計算與定點計算中很有用,在這種場合精度特別重要。
6、Decimal 數據類型
Decimal 變量存儲為 96 位(12 個字節)帶符號的整型形式,並除以一個 10 的冪數。這個變比因子決定了小數點右面的數字位數,其范圍從 0 到 28。變比因子為 0(沒有小數位)的情形下,最大的可能值為 +/-79,228,162,514,264,337,593,543,950,335。而在有 28 個小數位的情況下,最大值為 +/-7.9228162514264337593543950335,而最小的非零值為 +/-0.0000000000000000000000000001。
注意,Decimal 數據類型只能在 Variant中使用,也就是說,不能聲明一變量為 Decimal 的類型。不過可用 Cdec 函數,創建一個子類型為 Decimal 的 Variant。
7、Single 數據類型
Single(單精度浮點型)變量存儲為 IEEE 32 位(4 個字節)浮點數值的形式,它的范圍在負數的時候是從 -3.402823E38 到 -1.401298E-45,而在正數的時候是從 1.401298E-45 到 3.402823E38。Single 的類型聲明字符為感嘆號 (!)。
8、Double 數據類型
Double(雙精度浮點型)變量存儲為 IEEE 64 位(8 個字節)浮點數值的形式,它的范圍在負數的時候是從 -1.79769313486231E308 到 -4.94065645841247E-324,而正數的時候是從 4.94065645841247E-324 到 1.79769313486232E308。Double 的類型聲明字符是數字符號 (#)。
9、String 數據類型
字符串有兩種:變長與定長的字符串。
變長字符串最多可包含大約 20 億 ( 2^31)個字符。
定長字符串可包含 1 到大約 64K ( 2^16 ) 個字符。
注意,Public 定長字符串不能在類模塊中使用。
String 之字符碼的范圍是 0 到 255。字符集的前 128 個字符(0 到 127)對應於標准的 U.S. 鍵盤上的字符與符號。這前 128 個字符與 ASCII 字符集中所定義的相同。后 128 個字符(128 到 255)則代表特殊字符,例如國際字符,重音符號,貨幣符號及分數。String 的類型聲明字符為美元號 ($)。
10、Date 數據類型
Date 變量存儲為 IEEE 64 位(8 個字節)浮點數值形式,其可以表示的日期范圍從 100 年 1 月 1 日到 9999 年 12 月 31 日,而時間可以從 0:00:00 到 23:59:59。任何可辨認的文本日期都可以賦值給 Date 變量。日期文字須以數字符號 (#) 擴起來,例如,#January 1, 1993# 或 #1 Jan 93#。
Date 變量會根據計算機中的短日期格式來顯示。時間則根據計算機的時間格式(12 或 24 小時制)來顯示。
當其它的數值類型要轉換為 Date 型時,小數點左邊的值表示日期信息,而小數點右邊的值則表示時間。午夜為 0 而中午為 0.5。負整數表示 1899 年 12 月 30 日之前的日期。
11、Object 數據類型
Object 變量存儲為 32 位(4 個字節)的地址形式,其為對象的引用。利用 Set 語句,聲明為 Object 的變量可以賦值為任何對象的引用。
注意,雖然以Object 類型聲明的變量足以適應包含對各種對象的引用,但是綁定到變量引用的對象總是在晚期(運行時)綁定。要強迫在早期(編譯時間)綁定的話,須將對象的引用賦值給用特定類名稱聲明的變量。
12、Variant 數據類型
Variant 數據類型是所有沒被顯式聲明(用如 Dim、Private、Public 或 Static等語句)為其他類型變量的數據類型。Variant 數據類型並沒有類型聲明字符。
Variant 是一種特殊的數據類型,除了定長 String 數據及用戶定義類型外,可以包含任何種類的數據。Variant 也可以包含 Empty、Error、Nothing 及 Null等特殊值。可以用 VarType 函數或 TypeName 函數來決定如何處理 Variant 中的數據。
數值數據可以是任何整型或實型數,負數時范圍從
-1.797693134862315E308 到 -4.94066E-324,正數時則從 4.94066E-324 到 1.797693134862315E308。通常,數值 Variant 數據保持為其 Variant 中原來的數據類型。例如,如果把一個 Integer賦值給 Variant,則接下來的運算會把此 Variant 當成 Integer 來處理。然而,如果算術運數針對含 Byte、Integer、Long 或 Single 之一的Variant 執行,並當結果超過原來數據類型的正常范圍時,則在 Variant 中的結果會提升到較大的數據類型。如 Byte 則提升到 Integer,Integer 則提升到 Long,而 Long和Single 則提升為 Double。當 Variant 變量中有 Currency、Decimal 及 Double 值超過它們各自的范圍時,會發生錯誤。
可以用 Variant 數據類型來替換任何數據類型,這樣會更有適應性。如果 Variant 變量的內容是數字,它可以用字符串來表示數字或是用它實際的值來表示,這將由上下文來決定,例如:
Dim MyVar As Variant
MyVar = 98052
在前面的例子中,MyVar 內有一實際值為 98052 的數值。像期望的那樣,算術運算子可以對 Variant 變量運算,其中包含數值或能被解釋為數值的字符串數據。如果用 + 運算子來將 MyVar 與其他含有數字的 Variant 或數值類型的變量相加,結果便是一算術和。
Empty 值用來標記尚未初始化(給定初始值)的 Variant 變量。內含 Empty 的 Variant 在數值的上下文中表示 0,如果是用在字符串的上下文中則表示零長度的字符串 ("")。
不應將 Empty 與 Null 弄混。Null 是表示 Variant 變量確實含有一個無效數據。
在 Variant 中,Error 是用來指示在過程中出現錯誤時的特殊值。然而,不像對其它種類的錯誤那樣,程序並不產生普通的應用程序級的錯誤處理。這可以讓程序員,或應用程序本身,根據此錯誤值采取另外的行動。可以用 CVErr 函數將實數轉換為錯誤值來產生 Error 值。
