會(huì)員登錄 - 用戶注冊(cè) - 網(wǎng)站地圖 Office中國(guó)(office-cn.net),專業(yè)Office論壇
當(dāng)前位置:主頁 > 技巧 > Access技巧 > 模塊函數(shù)VBA > 正文

vba函數(shù)的數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換

時(shí)間:2013-10-16 17:14 來源:office中國(guó) 作者:admin 閱讀:
類型轉(zhuǎn)換函數(shù):每個(gè)函數(shù)都可以強(qiáng)制將一個(gè)表達(dá)式轉(zhuǎn)換成某種特定數(shù)據(jù)類型。
 
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 參數(shù)可以是任何字符串表達(dá)式或數(shù)值表達(dá)式。
 
說明
    如果傳遞給函數(shù)的 expression 超過轉(zhuǎn)換目標(biāo)數(shù)據(jù)類型的范圍,將發(fā)生錯(cuò)誤。
 
    通常,在編碼時(shí)可以使用數(shù)據(jù)類型轉(zhuǎn)換函數(shù),來體現(xiàn)某些操作的結(jié)果應(yīng)該表示為特定的數(shù)據(jù)類型,而不是缺省的數(shù)據(jù)類型。例如,當(dāng)單精度、雙精度或整數(shù)運(yùn)算發(fā)生的情況下,使用 CCur 來強(qiáng)制執(zhí)行貨幣運(yùn)算。
 
    應(yīng)該使用數(shù)據(jù)類型轉(zhuǎn)換函數(shù)來代替 Val,以使國(guó)際版的數(shù)據(jù)轉(zhuǎn)換可以從一種數(shù)據(jù)類型轉(zhuǎn)換為另一種。例如,當(dāng)使用 Ccur 時(shí),不同的小數(shù)點(diǎn)分隔符、千分位分隔符和各種貨幣選項(xiàng),依據(jù)系統(tǒng)的區(qū)域設(shè)置都會(huì)被妥善識(shí)別。
 
    當(dāng)小數(shù)部分恰好為 0.5 時(shí),Cint 和 CLng 函數(shù)會(huì)將它轉(zhuǎn)換為最接近的偶數(shù)值。例如,0.5 轉(zhuǎn)換為 0、1.5 轉(zhuǎn)換為 2。Cint 和 CLng 函數(shù)不同于 Fix 和 Int 函數(shù),F(xiàn)ix 和 Int 函數(shù)會(huì)將小數(shù)部分截?cái)喽皇撬纳嵛迦搿2⑶?Fix 和 Int 函數(shù)總是返回與傳入的數(shù)據(jù)類型相同的值。
 
    使用 IsDate 函數(shù),可判斷 date 是否可以被轉(zhuǎn)換為日期或時(shí)間。Cdate 可用來識(shí)別日期文字和時(shí)間文字,以及落入可接受的日期范圍內(nèi)的數(shù)值。當(dāng)轉(zhuǎn)換一個(gè)數(shù)字成為日期時(shí),是將整數(shù)部分轉(zhuǎn)換為日期,小數(shù)部分轉(zhuǎn)換為從午夜起算的時(shí)間。
 
    CDate 依據(jù)系統(tǒng)上的區(qū)域設(shè)置來決定日期的格式。如果提供的格式為不可識(shí)別的日期設(shè)置,則不能正確判斷年、月、日的順序。另外,長(zhǎng)日期格式,若包含有星期的字符串,也不能被識(shí)別。  
 
    CVDate 函數(shù)也提供對(duì)早期 Visual Basic 版本的兼容性。CVDate 函數(shù)的語法與 CDate 函數(shù)是完全相同的,不過,CVDate 是返回一個(gè) Variant,它的子類型是 Date,而不是實(shí)際的 Date 類型。因?yàn)楝F(xiàn)在已有真正的 Date 類型,所以 CVDate 也不再需要了。轉(zhuǎn)換一個(gè)表達(dá)式成為 Date,再賦值給一個(gè) Variant,也可以達(dá)到同樣的效果。也可以使用這種技巧將其他真正的數(shù)據(jù)類型轉(zhuǎn)換為對(duì)等的 Variant 子類型。
 
    注意 CDec 函數(shù)不能返回獨(dú)立的數(shù)據(jù)類型,而總是返回一個(gè) Variant,它的值已經(jīng)被轉(zhuǎn)換為 Decimal 子類型。


附函數(shù)的返回類型和參數(shù)范圍查詢
函數(shù) 返回類型 expression 參數(shù)范圍
CBool Boolean 任何有效的字符串或數(shù)值表達(dá)式。
CByte Byte 0 至 255。
CCur Currency -922,337,203,685,477.5808 至922,337,203,685,477.5807。
CDate Date 任何有效的日期表達(dá)式
CDbl Double 負(fù)數(shù)從 -1.79769313486231E308 至 -4.94065645841247E-324;正數(shù)從 4.94065645841247E-324 至 1.79769313486232E308。
CDec Decimal 零變比數(shù)值,即無小數(shù)位數(shù)值,為 
+/-79,228,162,514,264,337,593,543,950,335。對(duì)于 28 位小數(shù)的數(shù)值,范圍則為 
+/-7.9228162514264337593543950335;最小的可能非零值是 0.0000000000000000000000000001。
CInt Integer -32,768 至 32,767,小數(shù)部分四舍五入。
CLng Long -2,147,483,648 至 2,147,483,647,小數(shù)部分四舍五入。
CSng Single 負(fù)數(shù)為 -3.402823E38 至 -1.401298E-45;正數(shù)為 1.401298E-45 至 3.402823E38。
CStr String 依據(jù) expression 參數(shù)返回 Cstr。
CVar Variant 若為數(shù)值,則范圍與 Double 相同;若不為數(shù)值,則范圍與 String 相同。

(責(zé)任編輯:admin)

頂一下
(1)
100%
踩一下
(0)
0%
發(fā)表評(píng)論
請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
評(píng)價(jià):