access數據類型轉換

Access數據類型轉換

  (2012-02-09 20:51:31)

轉載

標籤: 

雜談

分類: 數據庫

每個函數都可以將表達式 (表達式:算術或邏輯運算符、常數、函數和字段名稱、控件和屬性的任意組合,計算結果爲單個值。表達式可執行計算、操作字符或測試數據。)強制轉換爲特定的數據類型 (數據類型:決定字段可擁有的數據類型的字段特徵。數據類型包括BooleanIntegerLongCurrencySingleDoubleDateString  Variant(默認)。)

語法

CBool(expression)

CByte(expression)

CCur(expression)

CDate(expression)

CDbl(expression)

CDec(expression)

CInt(expression)

CLng(expression)

CSng(expression)

CStr(expression)

CVar(expression)

必選的 expression 參數 (參數:爲操作、事件、方法、屬性、函數或過程提供信息的值。)是任何字符串表達式 (字符串表達式:任一求值爲一列連續字符的表達式。表達式的元素可以是:返回字符串或字符串 Variant (VarType 8) 的函數;字符串字面值、常量、變量或 Variant。)數值表達式 (數值表達式:計算結果爲數字的任何表達式。表達式可以是變量、常數、函數和運算符的任意組合。)

返回類型

函數名稱決定返回類型,如下所示:

函數

返回類型

EXPRESSION 參數的範圍

CBool

Boolean

任何有效的字符串或數值表達式。

CByte

Byte

0  255

CCur

Currency

-922,337,203,685,477.5808  922,337,203,685,477.5807

CDate

Date

任何有效的日期表達式。

CDbl

Double

對於負值,-1.79769313486231E308  
-4.94065645841247E-324;對於正值,4.94065645841247E-324  1.79769313486232E308

CDec

Decimal

對於整數(即沒有小數的數字),+/-79,228,162,514,264,337,593,543,950,335。對於具有 28 位小數的數字,值域範圍是 
+/-7.9228162514264337593543950335。可能的最小非零數字爲 0.0000000000000000000000000001

CInt

Integer

-32,768  32,767;小數部分被四捨五入。

CLng

Long

-2,147,483,648  2,147,483,647;小數部分被四捨五入。

CSng

Single

對於負值,-3.402823E38  -1.401298E-45;對於正值,1.401298E-45  3.402823E38

CStr

String

CStr 的返回值取決於 expression 參數。

CVar

Variant

對於數字,與雙精度型的值域範圍相同。對於非數字值,與 String 的值域範圍相同。

註解

如果傳遞給該函數的 expression 位於要轉換爲的目標數據類型的值域範圍之外,則將發生錯誤。

通常,可以在代碼中使用數據類型轉換函數,以表明某個操作的結果應表示爲特定數據類型而非默認的數據類型。例如,使用 CCur 在通常會出現單精度、雙精度或整型運算的地方強制使用貨幣運算。

應該使用數據類型轉換函數而不是 Val 來提供數據類型之間國際認可的轉換。例如,當使用 CCur 時,不同的小數點、不同的千位分隔符以及各種貨幣選項都會根據計算機的區域設置正確識別。

當小數部分恰好爲 0.5 時,CInt  CLng 始終都會將其舍入到最接近的偶數。例如,0.5 舍入到 0,而 1.5舍入到 2CInt  CLng  Fix  Int 函數不同,後者會將數字的小數部分截斷,而不會對其進行舍入。另外,Fix  Int 會始終返回與傳入類型相同類型的值。

可以使用 IsDate 函數確定 date 是否可以轉換爲日期或時間。CDate 可識別日期文本和時間文本,以及處於可接受的日期範圍內的某些數字。將數字轉換爲日期時,整數部分將被轉換爲日期。數字的任何小數部分都將被轉換爲一天中的時間(從午夜 12 點開始計算)。

CDate 將根據系統的區域設置 (區域設置:對應於給定語言和國家/地區的一組信息。)識別日期格式。如果採用可識別的日期設置之外的其他格式提供日期值,則可能無法確定正確的年、日、月順序。此外,如果長日期格式中還包含星期字符串,也不能識別此格式。

CVDate 函數也提供了與 Visual Basic 早期版本的兼容性。CVDate 函數的語法與 CDate 函數的語法相同;不過,CVDate 會返回一個 Variant 值(其子類型爲 Date)而不是實際的 Date 類型。由於目前存在一個固有的 Date 類型,因此已不再需要 CVDate 了。可以將表達式轉換爲 Date,然後將其賦值給 Variant,從而達到相同的效果。此技術與所有其他固有類型到其對應的 Variant 子類型的轉換一致。

 註釋    CDec 函數不會返回離散數據類型;相反,它會始終返回一個其值已轉換爲 Decimal 子類型的Variant

示例

 註釋   以下示例演示了此功能在 Visual Basic for Applications (VBA) 模塊中的使用。有關使用 VBA 的詳細信息,請在搜索旁邊的下拉列表中選擇開發人員參考,然後在搜索框中輸入一個或多個詞條。

CBool 函數

此示例使用 CBool 函數將表達式轉換爲 Boolean 值。如果表達式的求值結果是一個非零值,CBool 將返回True;否則,它將返回 False

Dim A, B, Check

A = 5: B = 5    ' 初始化變量。

Check = CBool(A = B)    ' Check 包含 True

 

A = 0    ' 定義變量。

Check = CBool(A)    ' Check 包含 False

 

            

CByte 函數

此示例使用 CByte 函數將表達式轉換爲 Byte 值。

Dim MyDouble, MyByte

MyDouble = 125.5678    ' MyDouble  Double 數據類型值。

MyByte = CByte(MyDouble)    ' MyByte 包含 126

 

            

CCur 函數

此示例使用 CCur 函數將表達式轉換爲 Currency 值。

Dim MyDouble, MyCurr

MyDouble = 543.214588    ' MyDouble  Double 數據類型值。

MyCurr = CCur(MyDouble * 2)   

'  MyDouble * 2 (1086.429176) 的結果轉換爲

' Currency 數據類型值 (1086.4292)

 

            

CDate 函數

此示例使用 CDate 函數將字符串轉換爲 Date 值。通常,建議不將日期和時間硬編碼爲字符串(如本示例中所示)。請改用日期文本和時間文本,如 # 2/12/1969#  #4:45:23 PM#

Dim MyDate, MyShortDate, MyTime, MyShortTime

MyDate = "February 12, 1969"

' 轉換爲 Date 數據類型。

MyShortDate = CDate(MyDate)

 

MyTime = "4:35:47 PM"

' 轉換爲 Date 數據類型。

MyShortTime = CDate(MyTime)

 

            

CDbl 函數

此示例使用 CDbl 函數將表達式轉換爲雙精度型值。

Dim MyCurr, MyDouble

MyCurr = CCur(234.456784)

' 將結果轉換爲 Double 數據類型。

MyDouble = CDbl(MyCurr * 8.2 * 0.01)

 

            

CDec 函數

此示例使用 CDec 函數將數值轉換爲 Decimal 值。

Dim MyDecimal, MyCurr

MyCurr = 10000000.0587    ' MyCurr  Currency 數據類型值。

MyDecimal = CDec(MyCurr)     ' MyDecimal  Decimal 數據類型值。

 

            

CInt 函數

此示例使用 CInt 函數將值轉換爲 Integer 值。

Dim MyDouble, MyInt

MyDouble = 2345.5678    ' MyDouble  Double 數據類型值。

MyInt = CInt(MyDouble)    ' MyInt 包含 2346

 

            

CLng 函數

此示例使用 CLng 函數將值轉換爲 Long 值。

Dim MyVal1, MyVal2, MyLong1, MyLong2

MyVal1 = 25427.45

MyVal2 = 25427.55  ' MyVal1MyVal2  Double 數據類型值。

MyLong1 = CLng(MyVal1)

' MyLong1 包含 25427

MyLong2 = CLng(MyVal2)

' MyLong2 包含 25428

 

            

CSng 函數

此示例使用 CSng 函數將值轉換爲 Single 值。

Dim MyDouble1, MyDouble2, MySingle1, MySingle2

' MyDouble1MyDouble2  Double 數據類型值。

MyDouble1 = 75.3421115: MyDouble2 = 75.3421555

MySingle1 = CSng(MyDouble1)

' MySingle1 包含 75.34211

MySingle2 = CSng(MyDouble2)

' MySingle2 包含 75.34216

 

            

CStr 函數

此示例使用 CStr 函數將數值轉換爲 String 值。

Dim MyDouble, MyString

MyDouble = 437.324    ' MyDouble  Double 數據類型值。

MyString = CStr(MyDouble)

' MyString 包含 "437.324"

 

            

CVar 函數

此示例使用 CVar 函數將表達式轉換爲 Variant 值。

Dim MyInt, MyVar

MyInt = 4534    ' MyInt  Integer 數據類型值。

MyVar = CVar(MyInt & "000")

' MyVar c包含字符串 4534000

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章