?2.4.1 通用轉換
? 在FreeBASIC中將表達式轉換為指定的數據類(lèi)型有多種函數,根據數據類(lèi)型不同可以選擇該類(lèi)型的函數,也可以使用通用的類(lèi)型轉換函數Cast。語(yǔ)法如下:
?
例如:
將Expression 轉換為不同的DataType(數據類(lèi)型)。這是轉換運算符的一般形式,比諸如或之類(lèi)的轉換更加通用,因為它們可以用于具有操作符的類(lèi)型,但不具有內置關(guān)鍵字。這里要注意,如果要使用專(zhuān)門(mén)用于轉換為不同類(lèi)型指針的運算符,必須使用CPtr進(jìn)行強制轉換。
CPtr是用來(lái)將指針表達式轉換為指定的數據類(lèi)型指針的函數(具體使用在指針章節說(shuō)明),語(yǔ)法如下:
將Expression 轉換為PointerDataType。PointerDataType 必須是指針類(lèi)型(例如一個(gè)DataType 或一個(gè)Any )或一個(gè)Type(別名,與C的typedef功能類(lèi)似)。 Expression 可能是不同的指針類(lèi)型,或者是。注意:目前,FreeBASIC實(shí)際上并不強制指定PointerDataType是一個(gè)指針,將來(lái)的FreeBASIC版本可能對此作出改變。所以如果你嘗試轉換為非指針,則會(huì )顯示警告。
2.4.2 轉換為整數型
每個(gè)整數類(lèi)型都有一個(gè)轉換函數對應,函數參數可以是任何數值,字符串或指針數據類(lèi)型,返回值為對應的整數類(lèi)型。具體轉換函數及其類(lèi)型如表2-4所示。 表2-4 整數轉換函數及其類(lèi)型
轉換函數
返回類(lèi)型
說(shuō)明
CByte
Byte
CUByte
UByte
CShort
Short
CUShort
UShort
CLng
Long
CULng
ULong
CInt
Integer
CUInt
UInteger
CLngInt
LongInt
CULngInt
ULongInt
CSign
有符號數
CUnsg
無(wú)符號數
2.4.3 轉換為浮點(diǎn)型
浮點(diǎn)類(lèi)型有兩個(gè)轉換函數,函數參數可以是任何數值,字符串或指針數據類(lèi)型,返回值為對應的整數類(lèi)型。具體轉換函數及其類(lèi)型如表2-5所示。
表2-5 浮點(diǎn)轉換函數及其類(lèi)型
轉換函數
返回類(lèi)型
說(shuō)明
CSng
Single
CDbl
Double
2.4.4 字符與數值相互轉換
數值無(wú)法直接轉換成字符串,需要用轉換函數轉換,根據字符串的類(lèi)型不同有Str和WStr兩種。同時(shí),字符串在連接時(shí)可以用“+”符號和“&”符號,“+”符號只能連接兩個(gè)字符串類(lèi)型的數據,其中不能出現數值;而“&”符號可以連接字符串及數值等數據,在遇到數值時(shí),編譯器會(huì )自動(dòng)強制轉換成字符串。轉換函數如表2-6所示。
表2-6 字符與數值轉換函數及類(lèi)型
轉換函數
返回類(lèi)型
說(shuō)明
Str
String
WStr
WString
Val
Double
如果字符串的第一個(gè)字符無(wú)效,Val將返回0
ValInt
Long
ValUInt
ULong
ValLng
LongInt
ValULng
ULongInt
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。