asp数据强制转换
CBool(expression)
CByte(expression)
CCur(expression)
CDate(expression)
CDbl(expression) (保留小数)
CDec(expression)
CInt(expression) (不保留小数)
CLng(expression) (不保留小数)
CSng(expression)
CStr(expression)
CVar(expression)
CStr(expression)
Vbscript类型转换函数
CBool函数
必要的 expression 参数可以是任何字符串表达式或数值表达式
返回类型
函数名称决定返回类型如下所示
函数 返回类型 expression 参数范围
CBool Boolean 任何有效的字符串或数值表达式
CByte Byte 至
CCur Currency 至
CDate Date 任何有效的日期表达式
CDbl Double 负数从 E 至 E正
数从 E 至 E
CDec Decimal 零变比数值即无小数位数值为
+/对于 位小数的数值范围则
为
+/最小的可能非零值是
CInt Integer 至 小数部分四捨五入
CLng Long 至 小数部分四捨五入
CSng Single 负数为 E 至 E正数为 E
至 E
CStr String 依据 expression 参数返回 Cstr
CVar Variant 若为数值则范围与 Double 相同若不为数值则范围与 Stri
ng 相同
说明
如果传递给函数的 expression 超过转换目标数据类型的范围将发生错误 通常在编码时可以使用数据类型转换函数来体现某些操作的结果应该表示为特定的数据类型而不是缺省的数据类型例如当单精度双精度或整数运算发生 的情况下使用 CCur 来强制执行货币运算
应该使用数据类型转换函数来代替 Val以使国际版的数据转换可以从一种数据类型转换为另一种例如当使用 Ccur 时不同的小数点分隔符千分位分隔符和各种货币选项依据系统的国别设置都会被妥善识别
当小数部分恰好为 时Cint 和 CLng 函数会将它转换为最接近的偶数值例如 转换为 转换为 Cint 和 CLng 函数不同于 Fix 和 Int 函数Fix 和 Int 函数会将小数部分截断而不是四捨五入并且 Fix 和 Int 函数总是返回与传入的数据类型相同的值
使用 IsDate 函数可判断 date 是否可以被转换为日期或时间Cdate 可用来识别日期文字和时间文字以及落入可接受的日期范围内的数值当转换一个数字成为日期时是将整数部分转换为日期小数部分转换为从午夜起算的时间
CDate 依据系统上的国别设置来决定日期的格式如果提供的格式为不可识别的日期设置则不能正确判断年月日的顺序另外长日期格式若包含有星期的字符串也不能被识别
CVDate 函数也提供对早期 Visual Basic 版本的兼容性CVDate 函数的语法与CDate 函数是完全相同的不过CVDate 是返回一个 Variant它的子类型是Date而不是实际的 Date 类型因为现在已有真正的 Date 类型所以 CVDate 也不再需要了转换一个表达式成为 Date再赋值给一个 Variant也可以达到同样的效果也可以使用这种技巧将其他真正的数据类型转换为对等的 Variant 子类型
注意 CDec
函数不能返回独立的数据类型而总是返回一个 Variant它的值已经被转换为 Decimal 子类型
描述
返回表达式此表达式已转换为 Boolean(布尔类型/是否类型) 子类型的 Variant(变量)
语法
CBool(expression)
expression 是任意有效的表达式
说明
如果 expression 是零则返回 False否则返回 True如果 expression 不能解释为数值则将发生运行时错误 下面的示例利用 CBool 函数把 expression(表达式) 转换为 Boolean如果 expression 不为零 CBool 返回 True否则返回 False
Dim A B Check
A = : B = 初始化变量
Check = CBool(A = B) check的值为 True
A = 定义变量
Check = CBool(A) 复选框设为 False
Cbyte函数
描述
返回表达式此表达式已被转换为 Byte(字节类型) 子类型的 Variant
语法
CByte(expression)
expression 参数是任意有效的表达式
说明
通常可以使用子类型转换函数书写代码以显示某些操作的结果应被表示为特定的数据类型而不是默认类型例如在出现货币单精度双精度或整数运算的情况下使用 CByte 强制执行字节运算
CByte 函数用于进行从其他数据类型到 Byte 子类型的的国际公认的格式转换例如对十进制分隔符(如千分符)的识别可能取决于系统的区域设置
如果 expression 在 Byte 子类型可接受的范围之外则发生错误下面的示例利用 CByte 函数把 expression 转换为 byte:
Dim MyDouble MyByte
MyDouble = MyDouble 是一个双精度值
MyByte = CByte(MyDouble) MyByte 包含
Ccur函数
描述
返回表达式此表达式已被转换为 Currency 子类型的 Variant
语法
CCur(expression)
expression 参数是任意有效的表达式
说明
通常您可以使用子类型数据转换函数书写代码以显示某些操作的结果应当被表达为特定的数据类型而非默认的数据类型例如在整数运算的情况下使用 CCur 函数强制进行货币计算
CCur 函数用于进行从其他数据类型到 Currency 子类型的国际公认的格式转换例如对十进制分隔符和千位分隔符的识别取决于系统的区域设置
下面的示例利用 CCur 函数把 expression 转换为 Currency:
Dim MyDouble MyCurr
MyDouble = MyDouble 是双精度的
MyCurr = CCur(MyDouble * )把 MyDouble * () 的结果转换为
Currency ()
Cdate函数
描述
返回表达式此表达式已被转换为 Date 子类型的 Variant
语法
CDate(date)
date 参数是任意有效的日期表达式
说明
IsDate 函数用于判断 date 是否可以被转换为日期或时间CDate 识别日期文字和时间文字以及一些在可接受的日期范围内的数字在将数字转换为日期时数字的整数部分被转换为日期分数部分被转换为从午夜开始计算的时间
CDate 根据系统的区域设置识别日期格式如果数据的格式不能被日期设置识别则不能判断年月日的正确顺序另外如果长日期格式包含表示星期几的字符串则不能被识别
下面例子利用 CDate 函数把字符串转换为日期通常建议不要使用硬编码日期和时间(如下例所示)而要使用日期和时间的文字形式(例如 #//# #:: PM#)
MyDate = "October " 定义日期
MyShortDate = CDate(MyDate) 转换为日期数据类型
MyTime = ":: PM" 定义时间
MyShortTime = CDate(MyTime) 转换为日期数据类型
Cdbl函数
描述
返回表达式此表达式已被转换为 Double 子类型的 Variant
语法
CDbl(expression)
expression 参数是任意有效的表达式
说明
通常您可以使用子类型数据转换函数书写代码以显示某些操作的结果应当被表达为特定的数据类型而非默认的数据类型例如在出现货币或整数运算的情况下使用 CDbl 或 CSng 函数强制进行双精度或单精度算术运算
CDbl 函数用于进行从其他数据类型到 Double 子类型的国际公认的格式转换例如十进制分隔符和千位分隔符的识别取决于系统的区域设置下面的示例利用 CDbl 函数把 expression 转换为 Double
Dim MyCurr MyDouble
MyCurr = CCur() MyCurr 是 Currency 型
MyDouble = CDbl(MyCurr * * ) 把结果转换为 Double 型
CInt函数
描述
返回表达式此表达式已被转换为 Integer 子类型的 Variant
语法
CInt(expression)
expression 参数是任意有效的表达式
说明
通常可以使用子类型转换函数书写代码以显示某些操作的结果应被表示为特定的数据类型而不是默认类型例如在出现货币单精度或双精度运算的情况下使用 CInt 或 CLng 强制执行整数运算
CInt 函数用于进行从其他数据类型到 Integer 子类型的国际公认的格式转换例如对十进制分隔符(如千分符)的识别可能取决于系统的区域设置
如果 expression 在 Integer 子类型可接受的范围之外则发生错误
下面的示例利用 CInt 函数把值转换为 Integer:
Dim MyDouble MyInt
MyDouble = MyDouble 是 Double
MyInt = CInt(MyDouble) MyInt 包含
注意 CInt 与 Fix 和 Int 函数不同后两者将数字的分数部分截尾取整而不是四捨五入当分数部分恰好为 时CInt 函数通常将其四捨五入为最接近的偶数例如 被四捨五入为 而 被四捨五入为
CLng函数
描述
返回表达式此表达式已被转换为 Long 子类型的 Variant
语法
CLng(expression)
expression 参数是任意有效的表达式
说明
通常您可以使用子类型数据转换函数书写代码以显示某些操作的结果应当被表达为特定的数据类型而非默认的数据类型例如在出现货币运算单精度或双精度算术运算的情况下使用 CInt 或 CLng 函数强制进行整数运算
CLng 函数用于进行从其他数据类型到 Long 子类型的的国际公认的格式转换例如对十进制分隔符和千位分隔符的识别取决于系统的区域设置
如果 expression 取值不在 Long 子类型的允许范围内则会出现错误
下面的示例利用 CLng 函数把值转换为 Long:
Dim MyVal MyVal MyLong MyLong
MyVal = : MyVal = MyVal MyVal 是双精度值
MyLong = CLng(MyVal) MyLong 包含
MyLong = CLng(MyVal) MyLong 包含
注意 CLng 函数与 Fix 和 Int 函数功能不同后两者函数对数值的小数部分进行截尾取整而不是四捨五入当小数部分恰好等于 时 CLng 函数通常向与此数最接近的偶数取整例如 取整为 取整为
CSng函数
描述
返回表达式该表达式已被转换为 Single 子类型的 Variant
语法
CSng(expression)
expression 参数是任意有效的表达式
说明
通常可以使用子类型转换函数书写代码以显示某些操作的结果应被表示为特定的数据类型而不是默认类型例如在出现货币或整数运算的情况下使用 CDbl 或 CSng 强制执行双精度或单精度运算
CSng 函数用于进行从其他数据类型到 Single 子类型的国际公认的格式转换例如对十进制分隔符(如千分符)的识别取决于系统的区域设置
如果 expression 在 Single 子类型允许的范围之外则发生错误
下面的示例利用 CSng 函数把值转换为 Single:
Dim MyDouble MyDouble MySingle MySingle MyDouble MyDouble 是双精度值
MyDouble = : MyDouble =
MySingle = CSng(MyDouble) MySingle 包含
MySingle = CSng(MyDouble) MySingle 包含
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 = MyDouble 是双精度值
MyString = CStr(MyDouble) MyString 包含 ""