ASP.NET数据类型转换浅析

开发 后端
ASP.NET数据类型转换主要有什么函数呢?ASP.NET数据类型转换是如何执行的呢?本文就向你介绍这方面的内容。

ASP.NET数据类型转换是如何实现的呢?让我们首先来看看所涉及的函数:

每个函数都可以强制将一个表达式转换成某种特定数据类型。

ASP.NET数据类型转换语法

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 参数可以是任何字符串表达式或数值表达式。

ASP.NET数据类型转换返回类型

函数名称决定返回类型,如下所示:

ASP.NET数据类型转换函数返回类型 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.0000000000000000000000000001。

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 相同;若不为数值,则范围与 String 相同。

ASP.NET数据类型转换说明

如果传递给函数的 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 子类型。

cint()   是ASP中的函数

函数将一个表达式转化为数字类型

ASP.NET数据类型转换表达式 CInt(expression)

允许数据类型: 任何有效的字符均可

ASP.NET数据类型转换实例:

  1. ﹤%  
  2. f = "234" 
  3. response.write cINT(f) + 2  
  4. %﹥ 

返回结果: 236

转化字符"234"为数字"234",如果字符串为空,则返回0值

经常见到cint和clng的溢出出错,如果有检测函数就不会出这个问题,下面这两个函数是应朋友要求写的,看一下吧

  1. '检测字符串是否是整数   
  2. function Is_Int(a_str)   
  3.   if not isnumeric(a_str) or len(str) ﹥ 5 then   
  4.    Is_Int = false   
  5.    exit function   
  6.   elseif len(str) ﹤ 5 then   
  7.    Is_Int = true   
  8.    exit function   
  9.   end if    
  10.   if cint(left(a_str , 4)) ﹥ 3276 then   
  11.    Is_Int = false   
  12.    exit function   
  13.   elseif cint(left(a_str , 4)) = 3276 and cint(right(a_str , 1)) ﹥ 7 then   
  14.    Is_Int = false   
  15.    exit function   
  16.   else   
  17.    Is_Int = true   
  18.    exit function   
  19.   end if    
  20. end function   
  21.  
  22. '检测是否是长整数   
  23. function Is_Lng(a_str)   
  24.   if not isnumeric(a_str) or len(str) ﹥ 10 then   
  25.    Is_Lng = false   
  26.    exit function   
  27.   elseif len(str) ﹤ 10 then   
  28.    Is_Lng = true   
  29.    exit function   
  30.   end if    
  31.   if clng(left(a_str , 9)) ﹥ 214748367 then   
  32.    Is_Lng = false   
  33.    exit function   
  34.   elseif clng(left(a_str , 9)) = 214748367 and clng(right(a_str , 1)) ﹥ 7 then   
  35.    Is_Lng = false   
  36.    exit function   
  37.   else   
  38.    Is_Lng = true   
  39.    exit function   
  40.   end if    
  41. end function 

ASP.NET数据类型转换的相关信息就向你介绍到这里,希望你对ASP.NET数据类型转换有所了解。

【编辑推荐】

  1. ASP.NET数据访问层SqlHelperSqlHelper的使用
  2. 哈希算法实现ASP.NET数据加密
  3. 对称加密算法实现ASP.NET数据加密
  4. ASP.NET数据导入之实现Excel to MSSQL
  5. ASP.NET数据集使用示例详细图解
责任编辑:仲衡 来源: CSDN博客
相关推荐

2009-08-07 09:33:23

ASP.NET控件开发

2009-08-03 18:35:51

ASP.NET数据缓存

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 15:50:13

ASP.NET优点

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 18:36:12

ASP.NET Che

2009-08-10 13:32:15

ASP.NET TimASP.NET组件设计

2009-07-28 17:36:21

ASP.NET数据库连

2009-08-04 15:20:59

ASP.NET数据验证数据验证控件

2009-07-31 09:57:47

ASP.NET数据库缓

2009-08-07 15:34:15

ASP.NET数据绑定

2009-08-04 10:02:36

中国站长站

2009-08-03 13:38:18

ASP.NET编程模型

2009-07-27 17:25:53

ASP.NET验证控件

2009-07-27 15:34:11

MembershipASP.NET

2009-08-03 10:07:20

ASP.NET Ses

2009-08-04 17:16:16

ASP.NET代码优化

2009-08-05 16:17:29

ASP.NET For

2009-08-05 16:50:09

ASP.NET For

2009-08-10 14:55:43

ASP.NET htt
点赞
收藏

51CTO技术栈公众号