asp中cint与clng的区别分析

cint与clng含义:

都可以强制将一个表达式转换成数据类型

cint与clng处理数据的范围:

CInt    Integer       -32,768 至 32,767,小数部分四舍五入。
CLng    Long         -2,147,483,648 至 2,147,483,647,小数部分四舍五入。

所谓溢出指的是超出处理数据的范围,下面代码是处理数据防止溢出的代码,大家可以自己看看:

'检测是否是短整数


sub Is_Int(string)
if len(abs(string))>10 then response.write "数据溢出":response.end
if instr(string,"-")<1 then
       if cint(left(string,4))>3276 and cint(right(string,1))>7 then response.write "数据溢出":response.end
    else
      if cint(left(abs(string),4))>3276 and cint(right(string,1))>8 then response.write "数据溢出":response.end
   end if
end sub

'检测是否是长整数


sub Is_Lng(string)
if len(abs(string))>10 then response.write "数据溢出":response.end
if instr(string,"-")<1 then
       if clng(left(string,9))>214748364 and clng(right(string,1))>7 then response.write "数据溢出":response.end
    else
      if clng(left(abs(string),9))>21478364 and clng(right(string,1))>8 then response.write "数据溢出":response.end
   end if
end sub