资源描述
按键精灵 按键精灵教程 论坛
数据类型转换
虽然在按键精灵中默认都没有定义类型,但是一些命令的参数还是对类型要求比较严格,在按键中也提供了类型转换的命令。
一、数值转布尔(CBool)
CBool返回一个Boolean型的值。如果表达式的值是零,则返回FALSE,否则返回True。如果表达式不能解释为数值,则将发生运行时错误。
下面的示例利用CBool函数把表达的值转换成Boolean型的值。如果表达不为零,CBool返回True,否则返回False。
Dim ,B,Check
A=5:B=5 ‘初始化变量
Check=CBool(A=B) '复选框设为True
A=0 '定义变量
Check=CBool(A) '复选框设为FALSE
二、数值转字节(CByte)
通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币、单精度、双精度或整数运算的情况下,使用 CByte 强制执行字节运算。
CByte 函数用于进行从其他数据类型到 Byte 子类型的的国际公认的格式转换。例如对十进制分隔符(如千分符)的识别,可能取决于系统的区域设置。
如果表达式在Byte子类型可接受的范围之外,则发生错误。下面的示例利用 CByte 函数把表达式转换为 byte:
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble 是一个双精度值
MyByte = CByte(MyDouble) ' MyByte 包含 126
三、数值转双精度(CDbl)
通常,您可以使用子类型数据转换函数书写代码,以显示某些操作的结果应当被表达为特定的数据类型,而非默认的数据类型。例如在出现货币或整数运算的情况下,使用 CDbl 或 CSng 函数强制进行双精度或单精度算术运算。
CDbl 函数用于进行从其他数据类型到 Double 子类型的国际公认的格式转换。例如,十进制分隔符和千位分隔符的识别取决于系统的区域设置。下面的示例利用 CDbl 函数把表达式转换为 Double。
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784) ' MyCurr 是 Currency 型。
MyDouble = CDbl(MyCurr * 8.2 * 0.01) ' 把结果转换为 Double 型。
四、小数型转整数型(CInt)
通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币、单精度或双精度运算的情况下,使用 CInt 或 CLng 强制执行整数运算。
CInt 函数用于进行从其他数据类型到 Integer 子类型的国际公认的格式转换。例如对十进制分隔符(如千分符)的识别,可能取决于系统的区域设置。
如果表达式在 Integer 子类型可接受的范围之外,则发生错误。
下面的示例利用 CInt 函数把值转换为 Integer:
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble 是 Double。
MyInt = CInt(MyDouble) ' MyInt 包含 2346。
注意 CInt 与 Fix 和 Int 函数不同,后两者将数字的分数部分截尾取整,而不是四舍五入。当分数部分恰好为 0.5 时,CInt 函数通常将其四舍五入为最接近的偶数。例如,0.5 被四舍五入为 0,而 1.5 被四舍五入为 2。
五、数值型转长整型(Clng)
通常,您可以使用子类型数据转换函数书写代码,以显示某些操作的结果应当被表达为特定的数据类型,而非默认的数据类型。例如,在出现货币运算、单精度或双精度算术运算的情况下,使用 CInt 或 CLng 函数强制进行整数运算。
CLng 函数用于进行从其他数据类型到 Long 子类型的的国际公认的格式转换。例如,对十进制分隔符和千位分隔符的识别取决于系统的区域设置。
如果表达式取值不在 Long 子类型的允许范围内,则会出现错误。
下面的示例利用 CLng 函数把值转换为 Long:
Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45: MyVal2 = 25427.55 ' MyVal1, MyVal2 是双精度值。
MyLong1 = CLng(MyVal1) ' MyLong1 包含 25427。
MyLong2 = CLng(MyVal2) ' MyLong2 包含 25428。
注意 CLng 函数与 Fix 和 Int 函数功能不同,后两者函数对数值的小数部分进行截尾取整而不是四舍五入。当小数部分恰好等于 0.5 时, CLng 函数通常向与此数最接近的偶数取整。例如,0.5 取整为 0、1.5 取整为 2。
六、数值型转单精度型(CSng)
通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币或整数运算的情况下,使用 CDbl 或 CSng 强制执行双精度或单精度运算。
CSng 函数用于进行从其他数据类型到 Single 子类型的国际公认的格式转换。例如,对十进制分隔符(如千分符)的识别取决于系统的区域设置。
如果表达式在 Single 子类型允许的范围之外,则发生错误。
下面的示例利用 CSng 函数把值转换为 Single:
Dim MyDouble1, MyDouble2, MySingle1, MySingle2 ' MyDouble1, MyDouble2 是双精度值。
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1) ' MySingle1 包含 75.34211。
MySingle2 = CSng(MyDouble2) ' MySingle2 包含 75.34216。
七、数值型转字符串型
通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,使用 CStr 强制将结果表示为 String。
CStr 函数用于替代 Str 函数来进行从其他数据类型到 String 子类型的国际公认的格式转换。例如对十进制分隔符的识别取决于系统的区域设置。
表达式根据下表决定返回的数据:
如果表达式为
CStr 返回
Boolean
字符串,包含 True 或 False。
Date
字符串,包含系统的短日期格式日期。
Null
运行时错误。
Empty
零长度字符串 ("")。
Error
字符串,包含跟随有错误号码的单词 Error。
其他数值
字符串,包含此数字。
下面的示例利用 CStr 函数把数字转换为 String:
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble 是双精度值。
MyString = CStr(MyDouble) ' MyString 包含 "437.324"。
展开阅读全文