asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET数据类型转换浅析


发布日期:2020年01月10日
 
ASP.NET数据类型转换浅析

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

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

ASPNET数据类型转换语法

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

ASPNET数据类型转换返回类型

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

ASPNET数据类型转换函数返回类型 expression 参数范围

CBool Boolean 任何有效的字符串或数值表达式

CByte Byte

CCur Currency

CDate Date 任何有效的日期表达式

CDbl Double 负数从 EE正数从 EE

CDec Decimal 零变比数值即无小数位数值为+/对于 位小数的数值范围则为 +/最小的可能非零值是

CInt Integer 小数部分四捨五入

CLng Long 小数部分四捨五入

CSng Single 负数为 EE正数为 EE

CStr String 依据 expression 参数返回 Cstr

CVar Variant 若为数值则范围与 Double 相同若不为数值则范围与 String 相同

ASPNET数据类型转换说明

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

cint() 是ASP中的函数

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

ASPNET数据类型转换表达式 CInt(expression)

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

ASPNET数据类型转换实例

﹤% f = responsewrite cINT(f) + %﹥ 返回结果:

转化字符为数字如果字符串为空则返回

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

检测字符串是否是整数

function Is_Int(a_str)

if not isnumeric(a_str) or len(str) ﹥ then

Is_Int = false

exit function

elseif len(str) ﹤ then

Is_Int = true

exit function

end if

if cint(left(a_str )) ﹥ then

Is_Int = false

exit function

elseif cint(left(a_str )) = and cint(right(a_str )) ﹥ then

Is_Int = false

exit function

else

Is_Int = true

exit function

end if

end function

检测是否是长整数

function Is_Lng(a_str)

if not isnumeric(a_str) or len(str) ﹥ then

Is_Lng = false

exit function

elseif len(str) ﹤ then

Is_Lng = true

exit function

end if

if clng(left(a_str )) ﹥ then

Is_Lng = false

exit function

elseif clng(left(a_str )) = and clng(right(a_str )) ﹥ then

Is_Lng = false

exit function

else

Is_Lng = true

exit function

end if

end function ASPNET数据类型转换的相关信息就向你介绍到这里希望你对ASPNET数据类型转换有所了解

上一篇:小技巧:ASP.NET中编程杀死进程

下一篇:关于ASP.NET 2.0的目录结构变化