找回密码
 加入
搜索
查看: 5721|回复: 12

[AU3基础] 变量 空白 与 变量0 之间判断的问题有解决方法吗??[已解决]

 火.. [复制链接]
发表于 2014-11-28 13:12:09 | 显示全部楼层 |阅读模式
本帖最后由 kk_lee69 于 2014-11-28 15:39 编辑

变量 空白 与 变量0 之间判断的问题有解决方法吗??

我印象中 这个 有人反应问过,但是忘了 解答是甚么,也搜寻不到  所以只好在提出来问一下, 当变量 是 空白文字的时候 其判断的结果 会等同 0

请看我的范例   第一段  $A=”” 理论上 不秀出资料是对的
但是 第二段 $A=0  应该 就不是 “”  所以第二段应该要秀出数据的  可是却没有

$a=""

if $a <> ""  Then
        MsgBox(0,"",$a)
EndIf

$a=0

if $a <> ""  Then
        MsgBox(0,"",$a)
EndIf
发表于 2014-11-28 13:20:17 | 显示全部楼层
If StringLen($a) Then
        MsgBox(0,"",$a)
EndIf
这样试下
发表于 2014-11-28 13:23:54 | 显示全部楼层
本帖最后由 netegg 于 2014-11-28 13:43 编辑

用不着,if IsNumber() then
还有if binary() <> '' then
 楼主| 发表于 2014-11-28 13:47:22 | 显示全部楼层
回复 3# netegg

理解 感謝  問題解決了
 楼主| 发表于 2014-11-28 13:48:39 | 显示全部楼层
回复 2# kevinch

果然 可以  感謝  kevin 的幫忙
发表于 2014-11-28 13:57:57 | 显示全部楼层
还忘了一个MsgBox(0,0,Asc(0)&@crlf&Asc(''))
发表于 2014-11-28 15:28:54 | 显示全部楼层
数字的话用蛋蛋说的这个就可以   IsNumber
发表于 2014-11-28 19:18:46 | 显示全部楼层
回复 1# kk_lee69


    还可以这样判断的.
Local $a="", $b = 0

if $a ==  ""  Then
        MsgBox(0,"a",'')
ElseIf $b == 0 Then
                MsgBox(0,"", $a)
EndIf
 
if $b ==  ""  Then
        MsgBox(0,"b",'')
ElseIf $b == 0 Then
                MsgBox(0,"b", $b)
EndIf
发表于 2014-11-29 08:46:03 | 显示全部楼层
回复 8# user3000
发表于 2014-11-29 09:22:32 | 显示全部楼层
回复 1# kk_lee69


    个人认为,AU3对变量的类型界定不严格,导致变量的数据类型随用法不同而改变。所以当$a=0时,根据语句不同,可以是数字0,可以是空字符串,可以是False。所以判断时尽量避免这些数据类型容易混淆的条件。
发表于 2014-11-29 09:42:59 | 显示全部楼层
学习了,很好的IsNumber
发表于 2014-11-29 10:08:46 | 显示全部楼层
回复 10# haijie1223
不可能是空串,只可能是'0'
发表于 2014-12-5 18:53:32 | 显示全部楼层
不错,支持一下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-28 08:49 , Processed in 0.089558 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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