vba中數(shù)據(jù)類型轉(zhuǎn)換_第1頁
vba中數(shù)據(jù)類型轉(zhuǎn)換_第2頁
vba中數(shù)據(jù)類型轉(zhuǎn)換_第3頁
vba中數(shù)據(jù)類型轉(zhuǎn)換_第4頁
vba中數(shù)據(jù)類型轉(zhuǎn)換_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、類型轉(zhuǎn)換函數(shù)請參閱示例 特性每個函數(shù)都可以強制將一個表達式轉(zhuǎn)換成某種特定數(shù)據(jù)類型。語法CBool( expression )CByte( expression )CCur(expression )CDate(expression )CDbl( expression )CDec(expression )CInt( expression )CLng(expression )CLngLng(expression )(只在64 位平臺上有效。)CLngPtr( expression )CSng(expression )CStr( expression )CVar(expression )CStr( e

2、xpression )必要的 expression 參數(shù) 可以是任何 字符用表達式 或數(shù)值表達式返回類型函數(shù)名稱決定返回類型,如下所示:函數(shù)返回類型expression參數(shù)范圍CBoolBoolean任何啟效的子符串或數(shù)值表iA式。CByteByte0 至 255。CCurCurrency-922,337,203,685,477.5808 至922,337,203,685,477.5807 。CDateDate任何有效的日期表達式。CDblDouble負數(shù)從-1.79769313486231E308 至-4.94065645841247E-324 ;正數(shù)從4.94065645841247E-3

3、24 至1.79769313486232E30&CDecDecimal零變比數(shù)值,即無小數(shù)位數(shù)值,為+/-79,228,162,514,264,337,593,543,950,335。對于28位小數(shù)的數(shù)值,范圍則為+/-7.9228162514264337593543950335;最小的可能非零值是 0.0000000000000000000000000001。CIntInteger-32,768至32,767,小數(shù)部分四舍五入。CLngLong-2,147,483,648 至 2,147,483,647 ,小數(shù)部分四舍五入。CLngLngLongLong-9,223,372,036,

4、854,775,808至 U9,223,372,036,854,775,807 ;小數(shù)部分四舍五入。(只在64位平臺上有效。)CLngPtrLongPtr在32位系統(tǒng)上,為-2,147,483,648至U2,147,483,647 ;在64 位系統(tǒng)上,為-9,223,372,036,854,775,808至 U9,223,372,036,854,775,807 ;對于 32 位和 64 位系統(tǒng),小數(shù)部分四舍五入。CSngSingle負數(shù)為-3.402823E38 至-1.401298E-45 ;正數(shù)為 1.401298E-45 至 3.402823E38。CStrString依據(jù)express

5、ion 參數(shù)返回Cstr。CVarVariant右為數(shù)值,則范圍與 Double相同;若/、為數(shù)值, 則范圍與String 相同。說明如果傳遞給函數(shù)的expression超過轉(zhuǎn)換目標數(shù)據(jù)類型的范圍,將發(fā)生錯誤 通常,在編碼時可以使用數(shù)據(jù)類型轉(zhuǎn)換函數(shù), 來體現(xiàn)某些操作的結(jié)果應(yīng)該表示為 特定的數(shù)據(jù)類型,而不是缺省的數(shù)據(jù)類型。例如,當單精度、雙精度或整數(shù)運算 發(fā)生的情況下,使用 CCur來強制執(zhí)行貨幣運算。應(yīng)該使用數(shù)據(jù)類型轉(zhuǎn)換函數(shù)來代替 Val,以使國際版的數(shù)據(jù)轉(zhuǎn)換可以從一種數(shù)據(jù) 類型轉(zhuǎn)換為另一種。例如,當使用 Ccur時,不同的小數(shù)點分隔符、千分位分隔 符和各種貨幣選項,依據(jù)系統(tǒng)的區(qū)域設(shè)置都會被妥

6、善識別。當小數(shù)部分恰好為0.5時,Cint和CLng函數(shù)會將它轉(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ù)會將小數(shù)部分截斷而不是四舍五入。并且 Fix和Int函 數(shù)總是返回與傳入的數(shù)據(jù)類型相同的值。使用IsDate函數(shù),可判斷date是否可以被轉(zhuǎn)換為日期或時間。Cdate可用來 識別日期文字和時間文字,以及落入可接受的日期范圍內(nèi)的數(shù)值。 當轉(zhuǎn)換一個數(shù) 字成為日期時,是將整數(shù)部分轉(zhuǎn)換為日期,小數(shù)部分轉(zhuǎn)換為從午夜起算的時間。CDate依據(jù)系統(tǒng)上的區(qū)域設(shè)置來決定日期的格式。 如果提供的格式為不可識別的 日期設(shè)置,則不

7、能正確判斷年、月、日的順序。另外,長日期格式,若包含有星 期的字符串,也不能被識別。注意CDec函數(shù)不能返回獨立的數(shù)據(jù)類型, 經(jīng)被轉(zhuǎn)換為Decimal子類型。CBool函數(shù)示例而總是返回一個Variant ,它的值已此示例使用CBool函數(shù)將表達式轉(zhuǎn)換為CBool返回True;否則,返回 False。Boolean 0如果表達式的值不為零,則Dim A, B, CheckA = 5:B = 5 '初始化變量Check = CBool( A = B ) ' Check 包含 True 。定義變量Check = CBool( A) ' Check 包含 FalseCByte

8、 函數(shù)示例此示例使用 CByte 函數(shù)將表達式轉(zhuǎn)換為 Byte 。Dim MyDouble, MyByteMyDouble = 125.5678 ' MyDouble 為 Double 。MyByte = CByte( MyDouble) ' MyByte 包含 126 。CCur 函數(shù)示例此示例使用 CCur 函數(shù)將表達式轉(zhuǎn)換為 Currency 。Dim MyDouble, MyCurrMyDouble = 543.214588 ' MyDouble 為 Double 。MyCurr = CCur(MyDouble * 2 ) ' 將 MyDouble *

9、2 的結(jié)果' (1086.429176) 轉(zhuǎn)換為' Currency (1086.4292)。CDate 函數(shù)示例此示例使用 CDate 函數(shù)將字符串轉(zhuǎn)換為 Date 。 通常, 建議不要將日期和時間硬編碼為字符串(如此示例中所示)。請改為使用日期文字和時間文字,如#2/12/1969# 和 #4:45:23 PM# 。Dim MyDate, MyShortDate, MyTime, MyShortTimeMyDate = "February 12, 1969" ' 定義日期。轉(zhuǎn)換為 Date 數(shù)據(jù)類型。MyShortDate = CDate( My

10、Date)MyTime = "4:35:47 PM定義時間。轉(zhuǎn)換為 Date 數(shù)據(jù)類型。MyShortTime = CDate( MyTime)CDbl 函數(shù)示例此示例使用 CDbl 函數(shù)將表達式轉(zhuǎn)換為 Double 。Dim MyCurr, MyDoubleMyCurr = CCur(234.456784) ' MyCurr 為 Currency 。MyDouble = CDbl( MyCurr * 8.2 * 0.01) ' 轉(zhuǎn)換結(jié)果為Double。CDec 函數(shù)示例此示例使用CDec函數(shù)將數(shù)字值轉(zhuǎn)換為Decimal。Dim MyDecimal, MyCurrMy

11、Curr = 10000000.0587 ' MyCurr 為 Currency 。MyDecimal = CDec(MyCurr) ' MyDecimal 為 Decimal 。CInt 函數(shù)示例此示例使用 CInt 函數(shù)將值轉(zhuǎn)換為 Integer 。Dim MyDouble, MyIntMyDouble = 2345.5678 ' MyDouble 為 Double 。MyInt = CInt( MyDouble) ' MyInt 包含 2346 。CLng 函數(shù)示例 此示例使用 CLng 函數(shù)將值轉(zhuǎn)換為 LongDim MyVal1, MyVal2, My

12、Long1, MyLong2MyVal1 、 MyVal2 為包含 25427包含 25428 。MyVal1 = 25427.45:MyVal2 = 25427.55Double。MyLong1 = CLng(MyVal1) ' MyLong1MyLong2 = CLng(MyVal2) ' MyLong2CSng 函數(shù)示例此示例使用 CSng 函數(shù)將值轉(zhuǎn)換為 SingleDim MyDouble1, MyDouble2, MySingle1, MySingle2' MyDouble1 、 MyDouble2 為 Double 。MyDouble1 = 75.3421

13、115:MyDouble2 = 75.3421555MySingle1 = CSng(MyDouble1) ' MySingle1包含75.34211 。MySingle2 = CSng(MyDouble2) ' MySingle2包含75.34216 。CStr 函數(shù)示例此示例使用 CStr 函數(shù)將數(shù)字值轉(zhuǎn)換為 String 。Dim MyDouble, MyStringMyDouble = 437.324 ' MyDouble 為 Double 。MyString = CStr( MyDouble) ' MyString 包含 "437.324" 。CVar 函數(shù)示例此示例使用 CVar

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論