布林
Dim Value As Boolean
布林值用於儲存可以表示為 True 或 False 的值。在內部,資料型別儲存為 16 位值,0 表示 False,任何其他值表示 True。
應當注意,當將布林值強制轉換為數字型別時,所有位都設定為 1.這將導致簽名型別的內部表示為 -1,無符號型別(位元組)的最大值。
Dim Example As Boolean
Example = True
Debug.Print CInt(Example) 'Prints -1
Debug.Print CBool(42) 'Prints True
Debug.Print CByte(True) 'Prints 255
轉換為布林值的轉換函式是 CBool()
。儘管它在內部表示為 16 位數,但是從該範圍之外的值轉換為布林值是安全的溢位,儘管它將所有 16 位設定為 1:
Dim Example As Boolean
Example = CBool(2 ^ 17)
Debug.Print CInt(Example) 'Prints -1
Debug.Print CByte(Example) 'Prints 255