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 0 至 255。
CCur Currency -922,337,203,685,477.5808 至922,337,203,685,477.5807。
CDate Date 任何有效的日期表达式。
CDbl Double 负数从 -1.79769313486232E308 至 -4.94065645841247E-324;正
数从 4.94065645841247E-324 至 1.79769313486232E308。
CDec Decimal 零变比数值,即无小数位数值,为
+/-79,228,162,514,264,337,593,543,950,335。对于 28 位小数的数值,范围则
为
+/-7.9228162514264337593543950335;最小的可能非零值是 0.00000000000000
00000000000001。
CInt Integer -32,768 至 32,767,小数部分四舍五入。
CLng Long -2,147,483,648 至 2,147,483,647,小数部分四舍五入。
CSng Single 负数为 -3.402823E38 至 -1.401298E-45;正数为 1.401298E-45
至 3.402823E38。
CStr String 依据 expression 参数返回 Cstr。
CVar Variant 若为数值,则范围与 Double 相同;若不为数值,则范围与 Stri
ng 相同。
说明
如果传递给函数的 expression 超过转换目标数据类型的范围,将发生错误。 通常,在编码时可以使用数据类型转换函数,来体现某些操作的结果应该表示为特定的数据类型,而不是缺省的数据类型。例如,当单精度、双精度或整数运算发生的情况下,使用 CCur 来强制执行货币运算。
应该使用数据类型转换函数来代替 Val,以使国际版的数据转换可以从一种数据类型转换为另一种。例如,当使用 Ccur 时,不同的小数点分隔符、千分位分隔符和各种货币选项,依据系统的国别设置都会被妥善识别。
当小数部分恰好为 0.5 时,Cint 和 CLng 函数会将它转换为最接近的偶数值。例如,0.5 转换为 0、1.5 转换为 2。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 = 5: B = 5' 初始化变量
Check = CBool(A = B)' check的值为 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 函数把 expression 转换为 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)' 转换为日期数据类型
#p#副标题#e#
Cdbl函数
描述
返回表达式,此表达式已被转换为 Double 子类型的 Variant。
语法
CDbl(expression)
expression 参数是任意有效的表达式。
说明
通常,您可以使用子类型数据转换函数书写代码,以显示某些操作的结果应当被表达为特定的数据类型,而非默认的数据类型。例如在出现货币或整数运算的情况下,使用 CDbl 或 CSng 函数强制进行双精度或单精度算术运算。
CDbl 函数用于进行从其他数据类型到 Double 子类型的国际公认的格式转换。例如,十进制分隔符和千位分隔符的识别取决于系统的区域设置。下面的示例利用 CDbl 函数把 expression 转换为 Double。
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)' MyCurr 是 Currency 型。
MyDouble = CDbl(MyCurr * 8.2 * 0.01)' 把结果转换为 Double 型。
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"。
#p#副标题#e#