论坛: 网站建设 标题: 这段代码中有几个不明白的地方!请指教 复制本贴地址    
作者: 寻梦人 [zbasic]    论坛用户   登录

Rem 判断数字是否整形
function isInteger(para)
on error resume next
dim str
dim l,i
if isNUll(para) then
isInteger=false
exit function
end if
str=cstr(para)
if trim(str)="" then
isInteger=false
exit function
end if
l=len(str)
for i=1 to l
if mid(str,i,1)>"9" or mid(str,i,1)<"0" then
isInteger=false
exit function
end if
next
isInteger=true
if err.number<>0 then err.clear
end function



地主 发表时间: 04-08-23 11:42

回复: 寻梦人 [zbasic]   论坛用户   登录
问题1:
function isInteger(para)
on error resume next
dim str
dim l,i
if isNUll(para) then
isInteger=false
exit function
end if                                              '到这里已经判断了para是否为空
                                                    '为什么下面还有一段判断字符是否
-------------------------------------------------------------------------------------
str=cstr(para) '为空?
if trim(str)="" then '如果说前面是判断是否有字符,这段
isInteger=false '判断字符是否为空(主要指包含是空格)
exit function '那为什么不直接写成
end if 'if len(trim(para))=0 then
'

------------------------------------------------------------------------------------
问题2:
str=cstr(para)                                  '把str转换为字符字符串后
if trim(str)="" then
isInteger=false
exit function
end if
l=len(str)
for i=1 to l
if mid(str,i,1)>"9" or mid(str,i,1)<"0" then    '这里的意思应该为取出每个
isInteger=false                                  '取出str中每个字符进行>"9"
exit function                                    '和<"0"的操作.但是这里"9"
end if                                            '"0"是作为一个数字还是作
next                                              '为一个字符来进行比较了?
isInteger=true                                    '不是很明白



B1层 发表时间: 04-08-23 11:44

回复: 剑圣风暴 [qiezic]      登录
IsNumeric ( 表达式 )

用这个函数不就得了,为什么写那么长的一段!

“问题1”你的思路是对的!“问题2”应该是字符!

B2层 发表时间: 04-08-23 12:21

回复: 寻梦人 [zbasic]   论坛用户   登录
问题1中
if isNUll(para) then
isInteger=false
exit function
end if

这里好象不是判断数据是否为空,而是判断是否有效(空数据也是有效数据)。
如果是无效数据,isInteger=false。
所以还要进一步判断数据是否为空。

问题2中
取出一个字符后比如说是a,和“9”进行比较?既a>9??这是什么意思啊?这样比较有什么意义?又会得出什么结果?

这个函数的目的是"Rem 判断数字是否整形",这个过程具体是怎么样实现的。。?还是不大明白


B3层 发表时间: 04-08-23 18:09

回复: 剑圣风暴 [qiezic]      登录
“问题1”我觉的你说的没错!
“问题2”如果取出一个字符是a的话,会出现:
isInteger=false
exit function
这个结果!

没看到“Rem”这个函数!

B4层 发表时间: 04-08-24 08:49

回复: 寻梦人 [zbasic]   论坛用户   登录
恩。。。。自己对整型数据理解有误。这里只是取数字。所以不能有类似于abc的字符。

B5层 发表时间: 04-08-24 09:53

论坛: 网站建设

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号