1、 按键精灵 按键精灵教程 论坛 数据类型转换 虽然在按键精灵中默认都没有定义类型,但是一些命令的参数还是对类型要求比较严格,在按键中也提供了类型转换的命令。 一、数值转布尔(CBool) CBool返回一个Boolean型的值。如果表达式的值是零,则返回FALSE,否则返回True。如果表达式不能解释为数值,则将发生运行时错误。 下面的示例利用CBool函数把表达的值转换成Boolean型的值。如果表达不为零,CBool返回True,否则返回False。 Dim ,B,Check A=5:B=5
2、 ‘初始化变量 Check=CBool(A=B) '复选框设为True A=0 '定义变量 Check=CBool(A) '复选框设为FALSE 二、数值转字节(CByte) 通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币、单精度、双精度或整数运算的情况下,使用 CByte 强制执行字节运算。 CByte 函数
3、用于进行从其他数据类型到 Byte 子类型的的国际公认的格式转换。例如对十进制分隔符(如千分符)的识别,可能取决于系统的区域设置。 如果表达式在Byte子类型可接受的范围之外,则发生错误。下面的示例利用 CByte 函数把表达式转换为 byte: Dim MyDouble, MyByte MyDouble = 125.5678 ' MyDouble 是一个双精度值 MyByte = CByte(MyDouble) ' MyByte 包含 126 三、数值转双精度(CDbl) 通常,您可以使用子类型数据转换函数书写
4、代码,以显示某些操作的结果应当被表达为特定的数据类型,而非默认的数据类型。例如在出现货币或整数运算的情况下,使用 CDbl 或 CSng 函数强制进行双精度或单精度算术运算。 CDbl 函数用于进行从其他数据类型到 Double 子类型的国际公认的格式转换。例如,十进制分隔符和千位分隔符的识别取决于系统的区域设置。下面的示例利用 CDbl 函数把表达式转换为 Double。 Dim MyCurr, MyDouble MyCurr = CCur(234.456784) ' MyCurr 是 Currency 型。 MyDouble = C
5、Dbl(MyCurr * 8.2 * 0.01) ' 把结果转换为 Double 型。 四、小数型转整数型(CInt) 通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币、单精度或双精度运算的情况下,使用 CInt 或 CLng 强制执行整数运算。 CInt 函数用于进行从其他数据类型到 Integer 子类型的国际公认的格式转换。例如对十进制分隔符(如千分符)的识别,可能取决于系统的区域设置。 如果表达式在 Integer 子类型可接受的范围之外,则发生错误。 下面的示例利用 C
6、Int 函数把值转换为 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) 通常,您可
7、以使用子类型数据转换函数书写代码,以显示某些操作的结果应当被表达为特定的数据类型,而非默认的数据类型。例如,在出现货币运算、单精度或双精度算术运算的情况下,使用 CInt 或 CLng 函数强制进行整数运算。 CLng 函数用于进行从其他数据类型到 Long 子类型的的国际公认的格式转换。例如,对十进制分隔符和千位分隔符的识别取决于系统的区域设置。 如果表达式取值不在 Long 子类型的允许范围内,则会出现错误。 下面的示例利用 CLng 函数把值转换为 Long: Dim MyVal1, MyVal2, MyLong1, MyLong2 My
8、Val1 = 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
9、 取整为 0、1.5 取整为 2。 六、数值型转单精度型(CSng) 通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币或整数运算的情况下,使用 CDbl 或 CSng 强制执行双精度或单精度运算。 CSng 函数用于进行从其他数据类型到 Single 子类型的国际公认的格式转换。例如,对十进制分隔符(如千分符)的识别取决于系统的区域设置。 如果表达式在 Single 子类型允许的范围之外,则发生错误。 下面的示例利用 CSng 函数把值转换为 Single: Dim My
10、Double1, MyDouble2, MySingle1, MySingle2 ' MyDouble1, MyDouble2 是双精度值。 MyDouble1 = 75.3421115: MyDouble2 = 75.3421555 MySingle1 = CSng(MyDouble1) ' MySingle1 包含 75.34211。 MySingle2 = CSng(MyDouble2) ' MySingle2 包含 75.34216。 七、数值型转字符串型 通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的
11、数据类型,而不是默认类型。例如,使用 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"。






