大家都是用什么办法判断变量是否为空?
本帖最后由 sensel 于 2009-4-30 12:53 编辑If $vVariable = "" Then ...
我是用这样的语句。然而很不幸,今天被郁闷到了。
当$vVariable值为字符串时,它工作得很好。当$vVariable值为一个不等于0的整数时,它也能工作。
事情就发生在值为整数0时,这个表达式居然成立了。。。
大家都是用什么呢?StringLen计算长度?String转换为字符型?
注:问题解决。按3楼thesnow兄提示,此处应该用 == 来比较。 本帖最后由 顽固不化 于 2009-4-30 08:38 编辑
先判断变量是数字还是串,然后再具体判断
If (IsString($vVariable) And $vVariable="") Or (IsNumber($vVariable) And $vVariable=0) Then
;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
依次注释测试结果,并写下心得方便后来人 用CASE?
先判断是否=0,这样变量为0的话,就不会继续下面的CASE了 3# thesnow
懂了,多谢!
看来必须用==的,我还一直认为==仅是对字符串进行区分大小写比较,观念落后啊。。。
至于心得,不敢写,怕误人子弟,呵呵 学习了啊!:face (35):
页:
[1]