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 "http://www.jb51.net"
dim rs
set rs=conn.execute("select id from news where id="&id&"")

(0)

相关推荐

  • 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 le

  • 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,小数部分四舍五入. 所谓溢出指的是超出处理数据的范围,下面代码是处理数据防止溢出的代码,

  • ASP.NET Core 2.0 带初始参数的中间件问题及解决方法

    问题 如何在ASP.NET Core 2.0向中间件传入初始参数? 答案 在一个空项目中,创建一个POCO(Plain Old CLR Object)来保存中间件所需的参数: public class GreetingOptions { public string GreetAt { get; set; } public string GreetTo { get; set; } } 添加一个中间件: public class GreetingMiddleware { private readon

  • ASP .NET Core API发布与部署以及遇到的坑和解决方法

    最近在写.Net Core的API,由于之前没接触过Core,所以自己的想法很简单,感觉和.Net都是差不多的东西,发布部署还是按.Net的那一套来,可谓是困难重重,走了不少弯路. 也没什么漂亮的词语,也不是技术大牛,就是抱着学习技术的态度,随手写写这一套流程,以及遇到的问题跟解决方法. 一.安装服务器环境 IIS  Path-->Control Panel\All Control Panel Items\Programs and Features 没细致研究,全装了~ 二.发布API 1.选择

  • IIS 运行ASP文件500内部错误解决方法大全

    1 IIS服务器出现500错误 2错误原因:500错误的原因一般是源程序出现错误造成的. 3 解决办法:1 首先设置IE浏览器à工具->Internet选项 2 刷新或者重新打开500错误页面就会出现错误的程序部分 3 根据错误提示,然后解决问题. 4 ADODB.Connection 创建失败的可能解决方法: 1.重装MDAC2.8. MDAC 2.8下载地址: http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&am

  • ASP.NET MVC中解析淘宝网页出现乱码问题的解决方法

    最近在解析淘宝中商品的信息,结果出现乱码,如: 原因就是中文字符格式出现冲突,ASP.NET MVC 默认采用utf-8,但是淘宝网页采用gbk. 在网上找了一下,最常用的解决方法就是修改web.config: < system.web> ...... < globalization requestEncoding="gbk" responseEncoding="gbk" culture="zh-CN" fileEncoding

  • Asp.net中的GridView导出遇到的两个问题和解决方法

    对于GridView导出的内容的代码大致如下: Response.Clear(); Response.Buffer = true; Response.Charset = "GB2312"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls"); Response.ContentEncoding = Sys

  • asp.net下无法循环绑定投票的标题和选项的解决方法

    问题:1,无法循环绑定投票的标题和选项 解决方法: 在Repeater绑定中添加ItemDataBound事件,选项用RadioButtonList绑定,附源代码: Default页,源页面 复制代码 代码如下: <div> 广大网友对保障房建设相关问题调查<br /> <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemData

  • asp.net开发与web标准的冲突问题的一些常见解决方法

    论坛中也经常有从事.net开发的新手朋友问一些asp.net开发过程中与web标准之间的冲突问题,其实说到底就是客户端代码生成的问题.更高深的开发层面的东西我也说不出来,从页面前端的角度和大家分享一下建议: 少用asp.net中的服务器端控件 在Visual Studio中,有一系列强大的控件,让我们的刚开始学习.net开发人员爱不释手.但vs中的这些控件,大多都是基于winForm的那种模式搬来的,在网页开发上,有些控件还是少用为佳,比如: 不要什么也没都统统加form runat="serv

  • IIS6 ASP 页的执行造成响应缓冲区超过其配置限制的解决方法

    Response 对象 错误 'ASP 0251 : 80004005' 超过响应缓冲区限制 此 ASP 页的执行造成响应缓冲区超过其配置限制. 因为页面中数据较多,有上千条,导致出现"超过响应缓冲区限制.此 ASP 页的执行造成响应缓冲区超过其配置限制". 如果 response.buffer=false这样设的话,可以查出,但是好慢.怎么解决? 我们可以加大Buffer的缓冲区,办法是:先在服务里关闭iisadminservice服务. 找到 windows\system32\in

  • asp运行特别慢之iis6假死现象的一种解决方法

    前段时间被WINDOWS2003SERVER的IIS6.0假死问题差点搞死了,琢磨了N个通宵之后才磨出了办法,下面的东西希望能给有相同问题的朋友些帮助: 大家在使用iis6时..如果装了动网论坛.肯定有出现过iis6假死现像..就是asp网页打开慢..但是iis却是正常的..静态网页打开速度一样..这时候..我一直是重启的方法..查了官方的资料结果没有...据官方资料说..win2003很快就要打这个补丁了..是iis6对access驱动支持不理像..也算是一个bug吧..由于我的服务器虚拟主机

随机推荐