• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    asp cint clng的范围与防止cint和clng的溢出解决方法大全

    首先我们需要了解的是

    cint范围 -32,768 到 32,767。
    clng范围 -2,147,483,648 到 2,147,483,647。

    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


    以下是一些检验函数,需要的朋友可以参考下:

    第一种:
    一、检测它是不是整数 
    复制代码 代码如下:

    function Is_Int(a_str)  
       if not isnumeric(a_str) or len(str) > 5 then  
          Is_Int = false   
          exit function   
       elseif len(str)  5 then  
          Is_Int = true   
          exit function   
       end if     
       if cint(left(a_str , 4)) > 3276 then  
          Is_Int = false  
          exit function  
       elseif cint(left(a_str , 4)) = 3276 and cint(right(a_str , 1)) > 7 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) > 10 then  
          Is_Lng = false  
          exit function   
       elseif len(str)  10 then  
          Is_Lng = true   
          exit function   
       end if     
       if clng(left(a_str , 9)) > 214748367 then  
          Is_Lng = false  
          exit function  
       elseif clng(left(a_str , 9)) = 214748367 and clng(right(a_str , 1)) > 7 then  
          Is_Lng = false  
          exit function  
       else  
          Is_Lng = true  
          exit function  
       end if     
    end function  

    如果我们只需要是数子,其它的东西,都可以替换为空,下面这个是脚本之家站长写的一个正则,替换非数字的正则
    复制代码 代码如下:

    function replacestr(str)
    dim re
    set re=new regexp
    re.ignorecase=true
    re.global=true
    re.pattern="\D"
    str=re.replace(str,"")
    replacestr=str
    set re=nothing
    end function

    下面是上面的调用方法
    复制代码 代码如下:

    id=replacestr(id)
    if len(id)>5 then id=left(id,5)
    if id>"" then id=clng(id)
    if err.number>0 Or id="0" then response.redirect "https://www.jb51.net"
    dim rs
    set rs=conn.execute("select id from news where id="id"")

    您可能感兴趣的文章:
    • asp中cint与clng的区别分析
    上一篇:asp常用函数集合,非常不错以后研究第1/4页
    下一篇:asp防范跨站点脚本攻击的的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    asp cint clng的范围与防止cint和clng的溢出解决方法大全 asp,cint,clng,的,范围,与,防止,