[已解决]IF问题
本帖最后由 漫反射 于 2012-1-10 17:49 编辑$a = 0
If $a = 'abc' Then MsgBox(0,0,11111)
$a = 0
怎么'abc'也能then? 一些例子:
10 * 20 等价于 数字 200 (* 是乘法运算符)
10 * "20" 等价于 数字 200
"10" * "20" 等价于 数字 200
10 & 20 等价于 字符串 "1020" (& 是字符串连接运算符)
$a是数字跟'abc'对比,则'abc'强制转换成数字
Number('abc') = 0 回复 2# 风行者
学习了 这个是单行写法!查询帮助文档! $a = 0 这句隐含定义了$a为数字类型,下一句‘abc’要先转化为数字进行比较,lz试试:$a = '0'
If $a = 'abc' Then MsgBox(0,0,11111)
我多次在这个数字比较上出错了。 以后每次我返回一值都用字符, 这就是AUTOIT的弱数据类型的结果,比较的时候,自己要注意类型相同 路过学习了 回复 1# 漫反射
所以要想回避这个
就用双等号
$a = 0
If 'abc' == $a Then MsgBox(0,0,11111)
学习了。。。 AU3连个IF都这么复杂的。。。 我也曾在这上面吃过夸,后来突发奇想给值加引号,居然搞定了,不过当然还不明白怎么回事,直到后来在论坛搜索才知道是怎么回事
页:
[1]