clng与cint的区别及防溢出函数

cint与clng含义:


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


cint与clng处理数据的范围:


CInt    Integer       -32,768 至 32,767,小数部分四舍五入。

CLng    Long         -2,147,483,648 至 2,147,483,647,小数部分四舍五入。


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


'检测是否是短整数

sub Is_Lng(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