Double
負數值為 -1.79769313486231E308 到 -4.94065645841247E-324;正數值為 4.94065645841247E-324 到 1.79769313486232E308。
Decimal
對於零調整數字,也就是沒有小數位的數字是 79,228,162,514,264,337,593,543,950,335。 對於具有 28 個小數位的數字,範圍是 +/-7.9228162514264337593543950335。 最小可能的非零數字為 0.0000000000000000000000000001。
Integer
-32,768 到 32,767;小數捨去。
-2,147,483,648 到 2,147,483,647;小數捨去。
CLngLng
LongLong
-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807; 小數捨去。 (只有 64 位元平台上有效。)
CLngPtr
LongPtr
32 位元系統上為 -2,147,483,648 到 2,147,483,647,64 位元系統上為 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807;32 位元和 64 位元系統上小數捨去。
Single
負數值為 -3.402823E38 到 -1.401298E-45;正數值為 1.401298E-45 到 3.402823E38。
String
根據
運算式
引數傳回 CStr。 請參閱以下表格。
Variant
數值範圍與
Double
相同。 非數值範圍與
字串
相同。
如果傳遞給函數的
運算式
超出要轉換至的資料類型範圍,則會發生錯誤。
轉換函數必須用來將
LongLong
(包括在 64 位元平台上的
LongPtr
) 明確地指派為較小的整數類型。 不允許將
LongLong
隱含轉換為較小的整數。
通常,您可以使用資料類型轉換函數來記錄代碼,以顯示某些作業的結果應表示為特定 資料類型而不是預設資料類型。 例如,在可能發生單精度、雙精度或整數運算的情況下,使用
CCur
來強制執行貨幣運算。
您應使用的資料類型轉換函數,而不是
Val
,提供從一種資料類型到另一種資料類型的國際認可轉換方式。 例如,當您使用
CCur
時,根據電腦的本機設定,可以正確識別不同的十進位分隔符號、不同的千位分隔符號和各種貨幣選項。
當小數部分恰好為 0.5 時,
CInt
和
CLng
一律會將其四捨五入到最接近的偶數。 例如,0.5 四捨五入為 0,1.5 四捨五入為 2。
CInt
和
CLng
與
Fix
和
Int
函數
不同,其會捨去,而不是將小數部分四捨五入。 此外,
Fix
和
Int
一律會傳回與傳入類型相同的值。
使用
IsDate
函數來判斷
date
是否可轉換為日期或時間。
CDate
可識別日期常值和時間常值以及一些屬於可接受日期範圍的數字。 將數字轉換為日期時,會將整個數字部分轉換為日期。 該數字的任何小數部分都將轉換為一天中的某個時間,從午夜開始。
CDate
會根據您系統的地區設定辨識日期格式。 如果以不同於其中一個已識別日期設定的格式提供日、月和年的正確順序,則可能無法判斷。 此外,如果長日期格式還包含 day-of-the-week 字串,則無法識別其日期格式。
為與 Visual Basic 的舊版本相容,也會提供
CVDate
函數。
CVDate
函數的語法與
CDate
函數的語法相同;但是,
CVDate
傳回
Variant
,其子類型是
Date
而不是實際
Date
類型。 因為現在已有內建的
Date
類型,就不再需要
CVDate
。 透過將運算轉換為
Date
,然後將其指派給
Variant
,可以達到相同的效果。 此技術與所有其他內在類型轉換為其等效的
Variant
子類型一致。
CDec
函數不會傳回特定資料類型;相反地,它一律傳回
Variant
,其值已轉換成
Decimal
子類型。
CStr
的傳回取決於
表達
式引數。
若
運算式
為
CStr 傳回
CBool 函數範例
此範例使用
CBool
函數將運算式轉換成
布林值
。 如果運算式評估為非零值,
CBool
會傳回
True
,否則會傳回
False
。
Dim A, B, Check
A = 5: B = 5 ' Initialize variables.
Check = CBool(A = B) ' Check contains True.
A = 0 ' Define variable.
Check = CBool(A) ' Check contains False.
CByte 函數範例
此範例使用 CByte 函數將運算式轉換成 Byte。
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
CCur 函式範例
此範例使用 CCur 函數將運算式轉換成 Currency。
Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble is a Double.
MyCurr = CCur(MyDouble * 2) ' Convert result of MyDouble * 2
' (1086.429176) to a
' Currency (1086.4292).
CDate 函數範例
此範例使用 CDate 函數將字串轉換為日期。 一般而言,不建議使用硬式編碼的日期和時間字串 (如範例所示)。 請改用日期常值和時間常值,例如 #2/12/1969# 和 #4:45:23 PM#。
Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969" ' Define date.
MyShortDate = CDate(MyDate) ' Convert to Date data type.
MyTime = "4:35:47 PM" ' Define time.
MyShortTime = CDate(MyTime) ' Convert to Date data type.
CDbl 函數範例
此範例使用 CDbl 函數將運算式轉換成 Double。
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784) ' MyCurr is a Currency.
MyDouble = CDbl(MyCurr * 8.2 * 0.01) ' Convert result to a Double.
CDec 函數範例
此範例使用 CDec 函數將數值轉換成 Decimal。
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
CInt 函數範例
此範例使用 CInt 函數將值轉換成 Integer。
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
CLng 函數範例
此範例使用 CLng 函數將值轉換成 Long。
Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45: MyVal2 = 25427.55 ' MyVal1, MyVal2 are Doubles.
MyLong1 = CLng(MyVal1) ' MyLong1 contains 25427.
MyLong2 = CLng(MyVal2) ' MyLong2 contains 25428.
CSng 函數範例
此範例使用 CSng 函數將值轉換成 Single。
Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1, MyDouble2 are Doubles.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1) ' MySingle1 contains 75.34211.
MySingle2 = CSng(MyDouble2) ' MySingle2 contains 75.34216.
CStr 函數範例
此範例使用 CStr 函數將數值轉換成字串。
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble) ' MyString contains "437.324".
CVar 函數範例
此範例使用 CVar 函數將運算式轉換成 Variant。
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & 000) ' MyVar contains the string
' 4534000.
資料類型摘要
Visual Basic 編輯器 (VBE) 的詞彙
Visual Basic 概念主題
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。