Numeric 數據類型
Visual Basic 支持幾種 Numeric 數據類型:Integer(整型)、Long(長整型)、Single(單精度浮點型)、Double(雙精度浮點型)和 Currency(貨幣型)。與 Variant 類型相比,Numeric 類型占用的存儲空間通常要少。
如果知道變量總是存放整數(如 12 )而不是帶小數點的數字(如 3.57),就應當將它聲明為 Integer 類型或 Long 類型。整數的運算速度較快,而且比其它數據類型占據的內存要少。在 For...Next 循環內作為計數器變量使用時,整數類型尤為有用。
詳細信息 關於控制結構的詳細資料,請參閱本章後面的“控制結構概述”。如果變量包含小數,則可將它們聲明為 Single、Double 或 Currency 變量。Currency 數據類型支持小數點右面 4 位和小數點左面 15 位;它是一個精確的定點數據類型,適用於貨幣計算。浮點(Single 和 Double)數比 Currency的有效范圍大得多,但有可能產生小的進位誤差。
注意 浮點數值可表示為 mmmEeee 或 mmmDeee ,其中 mmm 是尾數,而 eee 是指數(以 10 為底的冪)。Single 數據類型的最大正數值為3.402823E+38,或 3.4 乘以 10 的 38 次方;Double 數據類型的最大正數值是 1.79769313486232D+308 或 1.8 乘以 10 的 308 次方。用 D 將數值文字中的尾數部分和指數部分隔開,就會導致將該值作為 Double 數據類型來處理。同樣,用這種方式使用 E,也會導致將該值作為 Single 數據類型來處理。
Byte 數據類型
如果變量包含二進制數,則將它聲明為 Byte 數據類型的數組(本章後面的“數組”中將討論數組)。在轉換格式期間用 Byte 變量存儲二進制數據就可保留數據。當 String 變量在 ANSI 和 Unicode 格式間進行轉換時,變量中的任何二進制數據都會遭到破壞。在下列任何一種情況下,VisualBasic 都會自動在 ANSI 和 Unicode 之間進行轉換:
讀文件時
寫文件時
調用 DLL 時
調用對象的方法和屬性時
除一元減法外,所有可對整數進行操作的運算符均可操作 Byte 數據類型。因為 Byte 是從 0-255 的無符號類型,所以不能表示負數。因此,在進行一元減法運算時,Visual Basic 首先將 Byte 轉換為符號整數。
所有數值變量都可相互賦值,也可對 Variant 類型變量賦值。 在將浮點數賦予整數之前, Visual Basic要將浮點數的小數部分四捨五入,而不是將小數部分去掉。
詳細信息 關於 Unicode 和 ANSI 轉換的詳細信息,請參閱第十六章“國際化”。
String 數據類型
如果變量總是包含字符串而從不包含數值,就可將其聲明為 String 類型。
Private S As String
然後可將字符串賦予這個變量,並用字符串函數對它進行操作。
S = "Database"
S = Left (S,4)
按照缺省規定,String 變量或參數是一個可變長度的字符串。隨著對字符串賦予新數據,它的長度可增可減。 也可以聲明字符串具有固定長度。可用以下語法聲明一個定長字符串:
String * size
例如,為了聲明一個長度為 50 字符的字符串,可用下列語句:
Dim EmpName As String * 50
如果賦予字符串的字符少於 50 個,則用空格將 EmpName 的不足部分填滿。如果賦予字符串的長度太長,已不能成為定長字符串,則 Visual Basic 會直接截去超出部分的字符。
因為定長字符串用空格填充尾部多余的空間,所以在處理定長字符串時可發現,刪除空格的 Trim 和 RTrim 函數是很有用的。 可將標准模塊中的定長字符串聲明為 Public 或 Private。在窗體和類模塊中,必須將定長字符串聲明為 Private。
詳細信息 請參閱《Visual Basic 6.0語言參考手冊》中的“Ltrim、RTrim 和Trim 函數”。
交換字符串和數字
如果字符串表示數值,則可將字符串賦予數值變量。也可將數值賦予字符串變量。例如,將命令按鈕、文本框和列表框放置在窗體中。在命令按鈕的 Click 事件中輸入下列代碼。運行應用程序並單擊命令按鈕。
Private Sub Command1_Click ()
Dim intX As Integer
Dim strY As String
strY = "100.23"
intX = strY '將字符串傳遞給數值變量。
List1.AddItem Cos (strY) '將字符串中數值的余弦值。
'添加到列表框中。
strY = Cos (strY) '將余弦值傳遞給字符串變量。
Text1.Text = strY '在文本框中顯示字符串。
End Sub
Visual Basic 會自動強制變量為適當的數據類型。在轉換字符串和數值時要小心;如果傳送字符串中的值不是數值,則在運行時會出錯。
Boolean 數據類型
若變量的值只是“true/false”、“yes/no”、“on/off”信息,則可將它聲明為Boolean 類型。Boolean 的缺省值為 False。在下面的例子中,blnRunning 是Boolean 變量,存儲簡單的 yes/no 設置。
Dim blnRunning As Boolean
'查看磁帶是否在轉。
If Recorder.Direction = 1 Then
blnRunning = True
End if
Date 數據類型
Date 和 Time 值既可包含在特定的 Date 數據類型中,又可包含在 Variant變量中。一般的 Date 特性適用於這兩種類型。
詳細信息 請參閱《聯機手冊》的“高級變量主題”中的“在 Variant 變量中存儲 Date/Time 值”部分。
當其它數值數據類型轉換為 Date 時,小數點左邊的值表示 Date 信息,小數點右邊的值則代表 Time。午夜為 0,正午為 0.5。負數表示公元 1899 年12 月 31 日之前的 Date。