首页 > 代码库 > Request.QueryString/Form 返回值类型 与 CInt()

Request.QueryString/Form 返回值类型 与 CInt()

一直以为 Request.QueryString/Form 找不到指定的变量时会返回空字符串。

其实不然,Request.QueryString/Form 找不到指定的变量时,返回值的类型是 Empty。

Empty 是 Variant 的子类型。

CInt() 不接受空字符串,但是却可以接受 Empty 类型。

下面是关于 VBScript 数据类型的一些介绍。

VBScript 只有一种数据类型,称为 Variant

Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。

下表显示 Variant 包含的数据子类型:

子类型 描述
Empty 未初始化的 Variant。对于数值变量,值为 0;对于字符串变量,值为零长度字符串 ("")。
Null 不包含任何有效数据的 Variant
Boolean 包含 TrueFalse
Byte 包含 0 到 255 之间的整数。
Integer 包含 -32,768 到 32,767 之间的整数。
Currency -922,337,203,685,477.5808 到 922,337,203,685,477.5807。
Long 包含 -2,147,483,648 到 2,147,483,647 之间的整数。
Single 包含单精度浮点数,负数范围从 -3.402823E38 到 -1.401298E-45,正数范围从 1.401298E-45 到 3.402823E38。
Double 包含双精度浮点数,负数范围从 -1.79769313486232E308 到 -4.94065645841247E-324,正数范围从 4.94065645841247E-324 到 1.79769313486232E308。
Date (Time) 包含表示日期的数字,日期范围从公元 100 年 1 月 1 日到公元 9999 年 12 月 31 日。
String 包含变长字符串,最大长度可为 20 亿个字符。
Object 包含对象。
Error 包含错误号。

可使用 VarType 函数返回数据的 Variant 子类型。

VarType 函数返回下列值:

常数 描述
vbEmpty 0 Empty(未初始化)
vbNull 1 Null(无有效数据)
vbInteger 2 整数
vbLong 3 长整数
vbSingle 4 单精度浮点数
vbDouble 5 双精度浮点数
vbCurrency 6 货币
vbDate 7 日期
vbString 8 字符串
vbObject 9 Automation 对象
vbError 10 错误
vbBoolean 11 Boolean
vbVariant 12 Variant(只和变量数组一起使用)
vbDataObject 13 数据访问对象
vbByte 17 字节
vbArray 8192 数组

VarType 函数从不通过自己返回 Array 的值。它总是要添加一些其他值来指示一个具体类型的数组。当 Variant 的值被添加到 Array 的值中以表明 VarType 函数的参数是一个数组时,它才被返回。例如,对一个整数数组的返回值是 2 + 8192 的计算结果,或 8194。如果一个对象有默认属性,则 VarType(object) 返回对象默认属性的类型。

Request.QueryString/Form 返回值类型 与 CInt()