Q: | Dim x, y, z As Integer
x = "10" If x + y = x + z Then ... 結果以上判斷式會得到 False, 為什麼? |
A: | 請注意 Dim x, y, z As Integer 等於
Dim x '不定型型別 所以 x + y 等於 "1013", 但 x + z 等於 "10" + 13 = 23, 當然 x + y 就不等於 x + z 了。 要避免以上的問題, 常見的方法是規規矩矩地宣告每一個變數的型別, 但如果您寫的是 VB Script 程式, 則由於 VB Script 的變數都只能宣告成 Dim x 格式的不定型型別, 所以採用的方法是: CInt(x) ' 將 x 轉成 Integer 型別, 然後傳回 除了 CInt 之外, 用來轉換資料型別的含有還有: CBool(X) 將變數 X 轉換成 Boolean 型別 CByte(X) 將變數 X 轉換成 Byte 型別 CCur(X) 將變數 X 轉換成 Currency 型別 CDate(X) 將變數 X 轉換成 Date 型別 CDbl(X) 將變數 X 轉換成 Double 型別 CLng(X) 將變數 X 轉換成 Long 型別 CSng(X) 將變數 X 轉換成 Single 型別 CStr(X) 將變數 X 轉換成 String 型別 |