• 首页
  • 教程
  • 资源
  • 脚本
  • 源码库
  • 卖脚本
  • 用户中心
  • 作者成长
加入收藏  返回官网
你的位置:按键精灵资源站 >> 知识库

数据类型转换

    虽然在按键精灵中默认都没有定义类型,但是一些命令的参数还是对类型要求比较严格,在按键中也提供了类型转换的命令。

一、数值转布尔(CBool)

    CBool返回一个Boolean型的值。如果表达式的值是零,则返回FALSE,否则返回True。如果表达式不能解释为数值,则将发生运行时错误。

    下面的示例利用CBool函数把表达的值转换成Boolean型的值。如果表达不为零,CBool返回True,否则返回False。

    Dim A,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)

    通常,您可以使用子类型数据转换函数书写代码,以显示某些操作的结果应当被表达为特定的数据类型,而非默认的数据类型。例如在出现货币或整数运算的情况下,使用 CDblCSng 函数强制进行双精度或单精度算术运算。

    CDbl 函数用于进行从其他数据类型到 Double 子类型的国际公认的格式转换。例如,十进制分隔符和千位分隔符的识别取决于系统的区域设置。下面的示例利用 CDbl 函数把表达式转换为 Double

    Dim MyCurr, MyDouble
    MyCurr = CCur(234.456784)                   ' MyCurr 是 Currency 型。
    MyDouble = CDbl(MyCurr * 8.2 * 0.01)    ' 把结果转换为 Double 型。

四、小数型转整数型(CInt)

    通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币、单精度或双精度运算的情况下,使用 CIntCLng 强制执行整数运算。

    CInt 函数用于进行从其他数据类型到 Integer 子类型的国际公认的格式转换。例如对十进制分隔符(如千分符)的识别,可能取决于系统的区域设置。

    如果表达式在 Integer 子类型可接受的范围之外,则发生错误。

    下面的示例利用 CInt 函数把值转换为 Integer:

    Dim MyDouble, MyInt
    MyDouble = 2345.5678      ' MyDouble 是 Double。
    MyInt = CInt(MyDouble)    ' MyInt 包含 2346。

    注意 CIntFixInt 函数不同,后两者将数字的分数部分截尾取整,而不是四舍五入。当分数部分恰好为 0.5 时,CInt 函数通常将其四舍五入为最接近的偶数。例如,0.5 被四舍五入为 0,而 1.5 被四舍五入为 2。

五、数值型转长整型(Clng)

    通常,您可以使用子类型数据转换函数书写代码,以显示某些操作的结果应当被表达为特定的数据类型,而非默认的数据类型。例如,在出现货币运算、单精度或双精度算术运算的情况下,使用 CIntCLng 函数强制进行整数运算。

    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 函数与 FixInt 函数功能不同,后两者函数对数值的小数部分进行截尾取整而不是四舍五入。当小数部分恰好等于 0.5 时, CLng 函数通常向与此数最接近的偶数取整。例如,0.5 取整为 0、1.5 取整为 2。

六、数值型转单精度型(CSng)

    通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币或整数运算的情况下,使用 CDblCSng 强制执行双精度或单精度运算。

    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 字符串,包含 TrueFalse
Date 字符串,包含系统的短日期格式日期。
Null 运行时错误。
Empty 零长度字符串 ("")。
Error 字符串,包含跟随有错误号码的单词 Error。
其他数值 字符串,包含此数字。

    下面的示例利用 CStr 函数把数字转换为 String:

    Dim MyDouble, MyString
    MyDouble = 437.324            ' MyDouble 是双精度值。
    MyString = CStr(MyDouble)  ' MyString 包含 "437.324"。