共用方式為


資料類型摘要

資料類型即是可以決定它可以保留之資料類型的變數特性。 資料類型包括下表中所列的類型,以及使用者定義類型和特定類型物件。

設定內建的資料類型

下表中顯示支援的資料類型,包括儲存空間的大小和範圍。

資料類型 儲存大小 範圍
Boolean 2 個位元組 TrueFalse
Byte 1 個位元組 0 到 255
Collection 未知 未知
Currency (按比例調整整數) 8 個位元組 -922,337,203,685,477.5808 至 922,337,203,685,477.5807
Date 8 個位元組 -100) 1月1日 (657,434人,降至9999年12月31日 (2,958,465人)
Decimal 14 個位元組 +/-79,228,162,514,264,337,593,543,950,335 (沒有小數點)

+ /-7.9228162514264337593543950335 (小數點右側有 28 位數)

最小的非零數字為 +/-0.0000000000000000000000000001
Dictionary 未知 未知
Double (雙精確度浮點數) 8 個位元組 -1.79769313486231E308 到 -4.94065645841247E-324 (負數值)

4.94065645841247E-324 to 1.79769313486232E308 for (正數值)
Integer 2 個位元組 -32,768 至 32,767
Long (長整數) 4 個位元組 -2,147,483,648 至 2,147,483,647
LongLong (LongLong 整數) 8 個位元組 -9,223,372,036,854,775,808 至 9,223,372,036,854,775,807

只在 64 位元平台上有效。
LongPtr (在 32 位元系統為長整數,而在 64 位元系統為 LongLong 整數) 在 32 位元系統上為 4 個位元組

在 64 位元系統上為 8 個位元組
-2,147,483,648 至 2,147,483,647 (32 位元系統)

-9,223,372,036,854,775,808 至 9,223,372,036,854,775,807 (64 位元系統)
Object 4 個位元組 任何物件參照
Single (單精度浮點數) 4 個位元組 -3.402823E38 至 -1.401298E-45 (負數值)

1.401298E-45 至 3.402823E38 (正數值)
String (變數長度) 10 個位元組 + 字串長度 0 到約 2 億
String (固定長度) 字串的長度 1 到約 65,400
Variant (含數字) 16 位元組 任何達到 Double 範圍的數值
Variant (含字元) 22 個位元組 + 字串長度 (在 64 位元系統上為 24 個位元組) 與可變長度 String 相同的範圍
使用者定義 (使用類型) 元素所需的數字 每個元素的範圍與其資料類型範圍相同。

Variant 包含需要超過陣列本身的 12 個位元組。

注意事項

任何資料類型的 Array 皆需要 20 個位元組的記憶體加上每個陣列維度的 4 個位元組,再加上資料本身所佔的位元組數。 資料所佔的記憶體可透過將各元素大小乘以資料元素數量來計算。

例如,單一矩陣中的資料是由 4 個 2 位元組的整數資料元素組成,一個元素佔 8 個位元組。 資料所需的 8 個位元組加上 24 個位元組的額外負荷,使得陣列需要的記憶體容量為 32 個位元組。 在 64 位元平台上,SAFEARRAY 佔了 24 個位元組 (加上各 Dim 陳述式的 4 個位元組)。 pvData 成員是 8 個位元組的指標,並且必須與 8 個位元組的界線對齊。

注意事項

LongPtr 不是真正的資料類型,因為它在 32 位元的環境下會轉換成 Long,在 64 位元的環境下會轉換成 LongLongLongPtr 應用於代表指標和處理 Declare 陳述式 中的值,並啟用可以同時在 32 位元和 64 位元環境下寫入相容的程式碼。

注意事項

使用 StrConv 函數將其中一種字串資料轉換成另一種字串資料。

識別碼類型字元

一組 識別碼類型字元 可供你在宣告中使用,用來指定變數或常數的資料型別。 下表顯示可用的識別碼類型字元及使用範例。

識別碼類型字元 資料類型 範例
% 整數 Dim L%
& Long Dim M&
^ LongLong Dim N^
@ 貨幣 Const W@ = 37.5
! 單一 Dim Q!
# 雙精度浮點數 Dim X#
$ 字串 Dim V$ = "Secret"

對於 、 ByteLongPtrDecimalDateDouble、 資料 VariantObject型別,或任何複合資料型態(如陣列、集合、字典、結構體或使用者定義型別)都不存在Boolean識別字元。

在某些情況下,你可以將 $ 字元附加到 Visual Basic 函式中, Left$ 例如代替 Left,以獲得回傳的值 型別 String

在所有情況下,識別碼類型字元必須緊接在識別碼名稱之後。

資料類型間的轉換

請參見類型轉換函數,了解如何使用以下函式強制將表達式強制到特定資料型態:CBoolCByteCCurCDateCDbl、CDecCIntCLng、CLngLng、CLngPtrCSngCStrCVar

至於下列函數,請參閱個別的頁面:CVErrFixInt

注意事項

CLngLng 只在 64 位元平台上有效。

驗證資料類型

若要驗證資料類型,請參閱下列函數:

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應