FreeBASIC学习笔记——2.4 强制转换

2.4.1 通用转换

        在FreeBASIC中将表达式转换为指定的数据类型有多种函数,根据数据类型不同可以选择该类型的函数,也可以使用通用的类型转换函数Cast。语法如下:


例如:


        将Expression 转换为不同的DataType(数据类型)。这是转换运算符的一般形式,比诸如CIntCDbl之类的转换更加通用,因为它们可以用于具有Cast操作符的类型,但不具有内置关键字。这里要注意,如果要使用专门用于转换为不同类型指针的运算符,必须使用CPtr进行强制转换。

        CPtr是用来将指针表达式转换为指定的数据类型指针的函数(具体使用在 指针章节说明),语法如下:


        将Expression 转换为PointerDataType。PointerDataType 必须是指针类型(例如一个DataType Ptr或一个Any Ptr)或一个Type(别名,与C的typedef功能类似)。 Expression 可能是不同的指针类型,或者是Integer。注意:目前,FreeBASIC实际上并不强制指定PointerDataType是一个指针,将来的FreeBASIC版本可能对此作出改变。所以如果你尝试转换为非指针,则会显示警告。

2.4.2 转换为整数型

        每个整数类型都有一个转换函数对应,函数参数可以是任何数值,字符串或指针数据类型,返回值为对应的整数类型。具体转换函数及其类型如表2-4所示。

表2-4 整数转换函数及其类型

转换函数

返回类型

说明

CByte

Byte

 

CUByte

UByte

 

CShort

Short

 

CUShort

UShort

 

CLng

Long

 

CULng

ULong

 

CInt

Integer

 

CUInt

UInteger

 

CLngInt

LongInt

 

CULngInt

ULongInt

 

CSign

有符号数

 

CUnsg

无符号数

 

2.4.3 转换为浮点型

        浮点类型有两个转换函数,函数参数可以是任何数值,字符串或指针数据类型,返回值为对应的整数类型。具体转换函数及其类型如表2-5所示。

表2-5 浮点转换函数及其类型

转换函数

返回类型

说明

CSng

Single

 

CDbl

Double

 

2.4.4 字符与数值相互转换

        数值无法直接转换成字符串,需要用转换函数转换,根据字符串的类型不同有Str和WStr两种。同时,字符串在连接时可以用“+”符号和“&”符号,“+”符号只能连接两个字符串类型的数据,其中不能出现数值;而“&”符号可以连接字符串及数值等数据,在遇到数值时,编译器会自动强制转换成字符串。转换函数如表2-6所示。

表2-6 字符与数值转换函数及类型

转换函数

返回类型

说明

Str

String

 

WStr

WString

 

Val

Double

如果字符串的第一个字符无效,Val将返回0

ValInt

Long

 

ValUInt

ULong

 

ValLng

LongInt

 

ValULng

ULongInt

 



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值