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)

必要的 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 子类型。CBool(expression)


应用:

常量参数的传递
假设我们要向数据库增加一条记录:张三,男,22,78/02/23,zs@163.net。则变量strsql="insert into board(username,sex,age,birthday,email) values(‘张三’,’男’,22,#78/02/23#)"。这里我们看到:字符串用单引号括起来,日期用#号括起来,而数值型不需要定界符。但是我们应该注意:
1) 日期型,年月日之间可以用“/”或“-”隔开,它们之间的顺序可以是:年月日、月日年和日月年三种。日期型的定界符可以用“#”或“’”。
2) 数值型常量也可以用定界符“’”括起来。
根据上面两个规则,下面这条赋值语句也是正确的。
strsql="insert into board(username,sex,age,birthday,email) values(‘张三’,’男’,’22’,’78-02-23’)"

4 变量的参数传递
(1)ACESS数据库中的字段是字符串,则有以下两种情况值得注意:
a.如果表单提交的数据也是字符串则较简单。如对字符串字段username,对应表单中的对象text1,而text1的返回值为字符串,则插入用户名可写成:
strsql="insert into board(username) values(‘" & request("text1") & "’)"
这里,变量返回的值必须用单引号括起来,表明是字符串。
b.如果表单提交的数据是数值型时,有两种写法。如对字符串字符型字段 sex,对应表单中的radio1对象,而radio1对象返回的是数值(男为0,女为1),下面两种写法均可:
strsql="insert into board(sex) values(‘" & request("radio1") & "’)"
strsql="insert into board(sex) values(" & request("radio1") & ")"
即:数值可以用“’”作为定界符,也可以没有定界符。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值