当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp cint clng的范围与防止cint和clng的溢出解决方法大全

ASP
对ASP和ASP程序员的一些话
10行代码让你告别Arp作恶导致的掉线
ASP开发10条经验总结
国内ASP应用,不容乐观
ASP利用Google实现在线翻译功能
如何提高自己的编程水平
经典实用的基础asp程序整理
ASP实现带进度条的测试网速的代码程序
ASP程序实现网页伪静态页源代码
净化网络环境 ASP程序实现过滤脏话
ASP技术与PHP,CGI,JSP等技术的比较
用ASP制作饼图、柱状图等
常用ASP脚本程序集锦
用ASP编写的俄罗斯方块游戏
几种优秀的开发ASP的工具
浅谈ASP编程的思路与纠错
一个测试数据库连接的函数
ASP读写注册表
怎样用ASP程序判断一个盘上是否有文件
一个免费的简单聊天室源代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 115 ::
收藏到网摘: n/a

首先我们需要了解的是 cint范围 -32,768 到 32,767。 clng范围 -2,147,483,648 到 2,147,483,647。

第一种:
一、检测它是不是整数

复制代码 代码如下:

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.ruanchen.com"
dim rs
set rs=conn.execute("select id from news where id="&id&"")