類型轉換函數

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

每個函數會強制變成至特定的資料類型運算式 。

語法

CBool ( 運算式

CByte ( 運算式

CCur ( 運算式

CDate ( 運算式

CDbl ( 運算式

CDec ( 運算式

CInt ( 運算式

CLng ( 運算式

CSng ( 運算式

CStr ( 運算式

CVar ( 運算式

所需的運算式引數是字串運算式或數值運算式。

傳回類型

函數名稱會決定傳回類型,如下所示︰

函數

傳回類型

範圍 運算式 引數

CBool

布林值

任何有效的字串或數值運算式。

CByte

Byte

0 到 255。

CCur

貨幣

-922,337,203,685,477.5808 到 922337203685,477.5807。

CDate

日期

任何有效的日期運算式。

CDbl

雙線

-1.79769313486231E308 至
-4.94065645841247 e-324;4.94065645841247 e-324 到 1.79769313486232 e 308 正值。

CDec

Decimal

為 + / 79228162514264337593543950335-數字,也就是沒有小數位數的數字。28 的小數位數的數字,範圍是
+ /-7.9228162514264337593543950335。最小的可能非零值為 0.0000000000000000000000000001。

CInt

整數

-32768 到 32767。小數捨去。

CLng

-2147483648 到 2147483647;小數捨去。

CSng

Single

-3.402823 e 38 到-1.401298 e-45 (負值)1.401298 e-45 到 3.402823 e 38 正值。

CStr

字串

傳回的 CStr 取決於運算式引數。

CVar

變數

相同的數字的為範圍。相同的非數字字串形式範圍。


註解

如果傳遞給函數的運算式為範圍以外的資料類型轉換成,發生錯誤。

一般而言,您可以文件使用資料類型轉換函數顯示的某些作業的結果,應以特定的資料類型而非預設資料型別程式碼。若要強制貨幣算術在位置單精確度、 雙精度或整數運算一般會發生的情況下,例如,使用CCur

您應該使用,而不是Val的資料類型轉換函數以提供國際資料類型到另一個。例如,當您使用CCur,不同的小數分隔符號,不同的千分位分隔符號,,並根據您的電腦的地區設定正確辨識不同的貨幣選項。

小數部分時 0.5, CIntCLng隨時將它至最接近的偶數。例如,0.5 捨入為 0,1.5 變成 2。CIntCLng不同,修正Int函數,其捨去,而不是四捨五入,數字的小數部分。此外,修正Int永遠傳回的值相同類型傳入的。

使用IsDate函數來判斷日期是否可以轉換成日期或時間。CDate可以辨識日期常值和時間常值,以及某些可接受的日期範圍內的數字。將數字轉換成日期時,會轉換為日期的整數部分。任何數字的小數部分會轉換為一天,從午夜開始的時間。

CDate可以辨識的日期格式,根據您的系統地區設定設定。可能會決定年、 月和日的順序正確無誤,如果它所提供的其中一個可辨識的日期設定以外的格式。此外,完整日期] 格式無法辨識也包含一週天字串。

CVDate函數也會提供與舊版的 Visual Basic 的相容性。CVDate函數的語法CDate函數相同,不過, CVDate傳回一個Variant其子類型是日期,而非實際的日期類型。由於現在內建的日期類型,就不再需要CVDate。可以將運算式轉換成日期,然後將它指派給Variant達成相同效果。這項技巧是一致的所有其他內建類型轉換成其對等Variant子類型。

附註: CDec函數不會傳回不連續的資料類型。不過,它一律會傳回Variant值轉換為十進位子類型。

範例

附註: 下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。

CBool 函數

提示: 在 Access 2010 中的 IntelliSense 開始 [運算式建立器可協助取得正確的運算式。

此範例使用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函數將運算式轉換位元組

Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.

CCur 函數

此範例使用CCur函數,將運算式轉換成貨幣

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"
' Convert to Date data type.
MyShortDate = CDate(MyDate)
MyTime = "4:35:47 PM"
' Convert to Date data type.
MyShortTime = CDate(MyTime)

CDbl 函數

此範例會將運算式轉換使用CDbl函數。

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)

CDec 函數

此範例使用CDec函數,將數值轉換為小數位數

Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.

CInt 函數

此範例使用CInt函數將值轉換為整數

Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.

CLng 函數

此範例使用CLng函數來將值轉換為

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函數將值轉換為單一

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.

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×