ASP数据类型转换

来源:互联网 发布:asp.net 数据显示控件 编辑:程序博客网 时间:2024/05/21 08:40

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)    ' 转换为日期数据类型

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"。