(轉)VB強制類型轉換函數

轉自:http://tieba.baidu.com/f?kz=139765011

 

每個函數都可以強制將一個表達式轉換成某種特定數據類型。

語法
CBool(expression)

CByte(expression)

CCur(expression)

CDate(expression)

CDbl(expression)

CDec(expression)

CInt(expression)

CLng(expression)

CSng(expression)

CStr(expression)

CVar(expression)

CStr(expression)

必要的 expression 參數可以是任何字符串表達式或數值表達式。

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

函數 返回類型 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.79769313486232E308 至 -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 依據 expression 參數返回 Cstr。 
CVar Variant 若爲數值,則範圍與 Double 相同;若不爲數值,則範圍與 String 相同。 


說明
如果傳遞給函數的 expression 超過轉換目標數據類型的範圍,將發生錯誤。

通常,在編碼時可以使用數據類型轉換函數,來體現某些操作的結果應該表示爲特定的數據類型,而不是缺省的數據類型。例如,當單精度、雙精度或整數運算髮生的情況下,使用 CCur 來強制執行貨幣運算。

應該使用數據類型轉換函數來代替 Val,以使國際版的數據轉換可以從一種數據類型轉換爲另一種。例如,當使用 Ccur 時,不同的小數點分隔符、千分位分隔符和各種貨幣選項,依據系統的國別設置都會被妥善識別。

當小數部分恰好爲 0.5 時,Cint 和 CLng 函數會將它轉換爲最接近的偶數值。例如,0.5 轉換爲 0、1.5 轉換爲 2。Cint 和 CLng 函數不同於 Fix 和 Int 函數,Fix 和 Int 函數會將小數部分截斷而不是四捨五入。並且 Fix 和 Int 函數總是返回與傳入的數據類型相同的值。

使用 IsDate 函數,可判斷 date 是否可以被轉換爲日期或時間。Cdate 可用來識別日期文字和時間文字,以及落入可接受的日期範圍內的數值。當轉換一個數字成爲日期時,是將整數部分轉換爲日期,小數部分轉換爲從午夜起算的時間。

CDate 依據系統上的國別設置來決定日期的格式。如果提供的格式爲不可識別的日期設置,則不能正確判斷年、月、日的順序。另外,長日期格式,若包含有星期的字符串,也不能被識別。

CVDate 函數也提供對早期 Visual Basic 版本的兼容性。CVDate 函數的語法與 CDate 函數是完全相同的,不過,CVDate 是返回一個 Variant,它的子類型是 Date,而不是實際的 Date 類型。因爲現在已有真正的 Date 類型,所以 CVDate 也不再需要了。轉換一個表達式成爲 Date,再賦值給一個 Variant,也可以達到同樣的效果。也可以使用這種技巧將其他真正的數據類型轉換爲對等的 Variant 子類型。

注意 CDec 函數不能返回獨立的數據類型,而總是返回一個 Variant,它的值已經被轉換爲 Decimal 子類型。

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