vbscript中的转换函数
Asc 函数
返回与字符串的第一个字母对应的 ANSI 字符代码。
Asc(string)
string 参数是任意有效的字符串表达式。如果 string 参数未包含字符,则将发生运行时错误。
说明
下面例子中, Asc 返回每一个字符串首字母的 ANSI 字符代码:
Dim MyNumber
MyNumber = Asc("A") '返回 65。
MyNumber = Asc("a") '返回 97。
MyNumber = Asc("Apple") '返回 65。
注意 AscB 函数和包含字节数据的字符串一起使用。AscB 不是返回第一个字符的字符代码,而是返回首字节。AscW 是为使用 Unicode 字符的 32 位平台提供的。它返回 Unicode (宽型)字符代码,因此可以避免从 ANSI 到 Unicode 的代码转换。
CBool 函数
返回表达式,此表达式已转换为 Boolean 子类型的 Variant。
CBool(expression)
expression 是任意有效的表达式。
说明
如果 expression 是零,则返回 False;否则返回 True。如果 expression 不能解释为数值,则将发生运行时错误。
下面的示例使用 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 函数
返回表达式,此表达式已被转换为 Byte 子类型的 Variant。
CByte(expression)
expression 参数是任意有效的表达式。
说明
通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币、单精度、双精度或整数运算的情况下,使用 CByte 强制执行字节运算。
CByte 函数用于进行从其他数据类型到 Byte 子类型的的国际公认的格式转换。例如对十进制分隔符(如千分符)的识别,可能取决于系统的区域设置。
如果 expression 在 Byte 子类型可接受的范围之外,则发生错误。下面的示例利用 CByte 函数把 expression 转换为 byte:
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble 是一个双精度值。
MyByte = CByte(MyDouble) ' MyByte 包含 126 。
CCur 函数
返回表达式,此表达式已被转换为 Currency 子类型的 Variant。
CCur(expression)
expression 参数是任意有效的表达式。
说明
通常,您可以使用子类型数据转换函数书写代码,以显示某些操作的结果应当被表达为特定的数据类型,而非默认的数据类型。例如在整数运算的情况下,使用 CCur 函数强制进行货币计算。
CCur 函数用于进行从其他数据类型到 Currency 子类型的国际公认的格式转换。例如,对十进制分隔符和千位分隔符的识别取决于系统的区域设置。
下面的示例使用 CCur 函数将一个表达式转换成 Currency 类型:
Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble 是双精度的。
MyCurr = CCur(MyDouble * 2) ' 把 MyDouble * 2 (1086.429176) 的结果转换为 Currency (1086.4292)。
CDate 函数
返回表达式,此表达式已被转换为 Date 子类型的 Variant。
CDate(date)
date 参数是任意有效的日期表达式。
说明
IsDate 函数用于判断 date 是否可以被转换为日期或时间。CDate 识别日期文字和时间文字,以及一些在可接受的日期范围内的数字。在将数字转换为日期时,数字的整数部分被转换为日期,分数部分被转换为从午夜开始计算的时间。
CDate 根据系统的区域设置识别日期格式。如果数据的格式不能被日期设置识别,则不能判断年、月、日的正确顺序。另外,如果长日期格式包含表示星期几的字符串,则不能被识别。
下面的示例使用 CDate 函数将字符串转换成日期类型。一般不推荐使用硬件译码日期和时间作为字符串(下面的例子已体现)。而使用时间和日期文字 (如 #10/19/1962#, #4:45:23 PM#)。
MyDate = "October 19, 1962" ' 定义日期。
MyShortDate = CDate(MyDate) ' 转换为日期数据类型。
MyTime = "4:35:47 PM" ' 定义时间。
MyShortTime = CDate(MyTime) ' 转换为日期数据类型。
CDbl 函数
返回表达式,此表达式已被转换为 Double 子类型的 Variant。
CDbl(expression)
expression 参数是任意有效的表达式。
说明
通常,您可以使用子类型数据转换函数书写代码,以显示某些操作的结果应当被表达为特定的数据类型,而非默认的数据类型。例如在出现货币或整数运算的情况下,使用 CDbl 或 CSng 函数强制进行双精度或单精度算术运算。
CDbl 函数用于进行从其他数据类型到 Double 子类型的国际公认的格式转换。例如,十进制分隔符和千位分隔符的识别取决于系统的区域设置。
下面的示例利用 CDbl 函数把 expression 转换为 Double。
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784) ' MyCurr 是 Currency 型 (234.4567)。
MyDouble = CDbl(MyCurr * 8.2 * 0.01) ' 把结果转换为 Double 型 (19.2254576)。
Chr 函数
返回与指定的 ANSI 字符代码相对应的字符。
Chr(charcode)
charcode 参数是可以标识字符的数字。
说明
从 0 到 31 的数字表示标准的不可打印的 ASCII 代码。例如,Chr(10) 返回换行符。
下面例子利用 Chr 函数返回与指定的字符代码相对应的字符:
Dim MyChar
MyChar = Chr(65) '返回 A。
MyChar = Chr(97) '返回 a。
MyChar = Chr(62) '返回 >。
MyChar = Chr(37) '返回 %。
注意 ChrB 函数与包含在字符串中的字节数据一起使用。ChrB 不是返回一个或两个字节的字符,而总是返回单个字节的字符。ChrW 是为使用 Unicode 字符的 32 位平台提供的。它的参数是一个 Unicode (宽字符)的字符代码,因此可以避免将 ANSI 转化为 Unicode 字符。
CInt 函数
返回表达式,此表达式已被转换为 Integer 子类型的 Variant。
CInt(expression)
expression 参数是任意有效的表达式。
说明
通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币、单精度或双精度运算的情况下,使用 CInt 或 CLng 强制执行整数运算。
CInt 函数用于进行从其他数据类型到 Integer 子类型的国际公认的格式转换。例如对十进制分隔符(如千分符)的识别,可能取决于系统的区域设置。
如果 expression 在 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 函数
返回表达式,此表达式已被转换为 Long 子类型的 Variant。
CLng(expression)
expression 参数是任意有效的表达式。
说明
通常,您可以使用子类型数据转换函数书写代码,以显示某些操作的结果应当被表达为特定的数据类型,而非默认的数据类型。例如,在出现货币运算、单精度或双精度算术运算的情况下,使用 CInt 或 CLng 函数强制进行整数运算。
CLng 函数用于进行从其他数据类型到 Long 子类型的的国际公认的格式转换。例如,对十进制分隔符和千位分隔符的识别取决于系统的区域设置。
如果 expression 取值不在 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 函数
返回表达式,该表达式已被转换为 Single 子类型的 Variant。
CSng(expression)
expression 参数是任意有效的表达式。
说明
通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币或整数运算的情况下,使用 CDbl 或 CSng 强制执行双精度或单精度运算。
CSng 函数用于进行从其他数据类型到 Single 子类型的国际公认的格式转换。例如,对十进制分隔符(如千分符)的识别取决于系统的区域设置。
如果 expression 在 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 子类型的 Variant。
CStr(expression)
expression 参数是任意有效的表达式。
说明
通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,使用 CStr 强制将结果表示为 String。
CStr 函数用于替代 Str 函数来进行从其他数据类型到 String 子类型的国际公认的格式转换。例如对十进制分隔符的识别取决于系统的区域设置。
expression 根据下表决定返回的数据:
如果 expression 为 CStr 返回
Boolean 字符串,包含 True 或 False。
Date 字符串,包含系统的短日期格式日期。
Null 运行时错误。
Empty 零长度字符串 ("")。
Error 字符串,包含跟随有错误号码的单词 Error。
其他数值 字符串,包含此数字。
下面的示例利用 CStr 函数把数字转换为 String:
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble 是双精度值。
MyString = CStr(MyDouble) ' MyString 包含 "437.324"。
Hex 函数
返回表示十六进制数字值的字符串。
Hex(number)
number 参数是任意有效的表达式。
说明
如果 number 参数不是整数,则在进行运算前将其四舍五入为最接近的整数。
如果 number 是 Hex 返回
Null Null。
Empty 零 (0)。
其他数 最大到八位的十六进制字符。
您可以通过在数字前面添加前缀 &H 来表示十六进制数。例如,在十六进制计数法中,&H10 表示十进制数 16。
下面的示例利用 Hex 函数返回数字的十六进制数:
Dim MyHex
MyHex = Hex(5) ' 返回 5。
MyHex = Hex(10) ' 返回A。
MyHex = Hex(459) ' 返回 1CB。
Oct
返回表示数字八进制值的字符串。
Oct(number)
number 参数是任意有效的表达式。
说明
如果 number 参数不是整数,则在进行运算前,将其四舍五入到最接近的整数。
如果 number 是 Oct 返回
Null Null。
Empty 零 (0)。
任意其他数字 最大可到 11 位的八进制字符。
用户也可以通过直接在数前加上 &O 表示八进制数。例如,&O10 为十进制数 8 的八进制表示法。
下面的示例利用 Oct 函数返回数值的八进制数:
Dim MyOct
MyOct = Oct(4) ' 返回 4。
MyOct = Oct(8) ' 返回 10。
MyOct = Oct(459) ' 返回 713。
本文主题vbscript中的转换函数