找回密码
 加入
搜索
查看: 2261|回复: 5

大家都是用什么办法判断变量是否为空?

[复制链接]
发表于 2009-4-30 08:18:08 | 显示全部楼层 |阅读模式
本帖最后由 sensel 于 2009-4-30 12:53 编辑

If $vVariable = "" Then ...
我是用这样的语句。然而很不幸,今天被郁闷到了。
当$vVariable值为字符串时,它工作得很好。当$vVariable值为一个不等于0的整数时,它也能工作。
事情就发生在值为整数0时,这个表达式居然成立了。。。

大家都是用什么呢?StringLen计算长度?String转换为字符型?


注:问题解决。按3楼thesnow兄提示,此处应该用 == 来比较。
发表于 2009-4-30 08:32:39 | 显示全部楼层
本帖最后由 顽固不化 于 2009-4-30 08:38 编辑

先判断变量是数字还是串,然后再具体判断

If (IsString($vVariable) And $vVariable="") Or (IsNumber($vVariable) And $vVariable=0) Then
发表于 2009-4-30 08:39:18 | 显示全部楼层

;x("")
;x("0")
;x(1)
;x("1")
x(0)
Func x($vVariable)
        If $vVariable = "" Then MsgBox(32,'1',$vVariable)
        If $vVariable == "" Then MsgBox(32,'2',$vVariable)
        If IsDeclared($vVariable) Then MsgBox(32,'3',$vVariable)
        If Eval($vVariable) = "" Then MsgBox(32,'4',$vVariable)
        If Eval($vVariable) == "" Then MsgBox(32,'5',$vVariable)
        If $vVariable Then MsgBox(32,'6',$vVariable)
EndFunc


依次注释测试结果,并写下心得方便后来人
发表于 2009-4-30 08:42:42 | 显示全部楼层
用CASE?
先判断是否=0,这样变量为0的话,就不会继续下面的CASE了
 楼主| 发表于 2009-4-30 10:02:14 | 显示全部楼层
3# thesnow


懂了,多谢!
看来必须用==的,我还一直认为==仅是对字符串进行区分大小写比较,观念落后啊。。。
至于心得,不敢写,怕误人子弟,呵呵
发表于 2009-4-30 11:14:52 | 显示全部楼层
学习了啊!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-20 22:04 , Processed in 0.088090 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表