标题:asp 数据类型问题
只看楼主
zfc123
Rank: 2
等 级:论坛游民
帖 子:136
专家分:39
注 册:2007-5-4
结帖率:84.62%
已结贴  问题点数:20 回复次数:5 
asp 数据类型问题
dim aa,bb
if aa>bb then
else
end if

为什么当aa和bb同为10以内数字0-9,或者同为10以上数字时可以正常比较,但aa为10以内数字,bb为10以上的数字时,就无法比较.高手来指点一下吧,谢谢.
搜索更多相关主题的帖子: asp 类型 数据 
2010-04-27 12:42
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
得分:0 
肯定是哪个地方错了,否则不会的!

★★★★★为人民服务★★★★★
2010-04-27 13:33
zfc123
Rank: 2
等 级:论坛游民
帖 子:136
专家分:39
注 册:2007-5-4
得分:0 
但是我把if aa>bb then改成if cint(aa)>cint(bb)就可以正常运行,aa,bb都是提交自表单,难道是他们的数据类型不一样.
2010-04-27 14:52
zzy_420
Rank: 4
等 级:业余侠客
威 望:2
帖 子:78
专家分:217
注 册:2009-3-26
得分:10 
aa,bb来自表单(传参时肯定没有做类型转换) 那他们的类型应该是 字符串型 ,当你比较时 是两个字符串的比较 ,字符串比较是比较ASCII码,所以当同为小于10的时候能够比较,因为此时ASCII码大小和数值大小一样,而改变后是按字符串比较,因此会出现错误比较结果。
当你用转换函数转换后 CINT aa,bb都转换成了 数值型 ,比较当然不会有问题了。

如果传参之前就转换一下数据类型,再像上面比较时就不会出问题了。

希望楼主能够理解传参时的数据类型以及接收参数时 转换类型的需要。

[ 本帖最后由 zzy_420 于 2010-4-27 15:55 编辑 ]
2010-04-27 15:53
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:5 
同意楼上的正解

或者你用
if aa-bb>0 then

else

end if

经过运算后,ASP会自己调整类型

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2010-04-27 16:13
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
得分:5 
JAVASCRIPT也会有这种问题,也需要注意数据类型转换,否则经常会错误比较!
单存比较2个数大小,还好些,如果遇到一个数组排序什么的,那就更需要注意了!

Q:1428196631,百度:开发地 即可找到我,有事请留言!
2010-04-27 19:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-304567-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053630 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved