Robell_liu 发表于 2010-8-23 12:19:11

求助 :整型变量大小比较 出错 ,: 怀疑是autoit的bug

在下面(CPTEST.INI)INI FILE里面读取指定的值,并比较值得大小,结果却显示13<9
INI文件如下

Param_zero = 13
Param_com = 9

TEST.AU3代码如下

Global $Param_zero = IniRead(@ScriptDir &"\CPTest.ini", "Parameter", "Param_zero", "NotFound")
Global $Param_com = IniRead(@ScriptDir &"\CPTest.ini", "Parameter", "Param_com", "NotFound")

if $Param_zero >= $Param_com Then
        MsgBox(0,"",$Param_zero &">=" &$Param_com )
Else
        MsgBox(0,"",$Param_zero &"<" &$Param_com )
       
EndIf

afan 发表于 2010-8-23 12:21:44

IniRead返回的是字符串,13肯定小于9
If Number($Param_zero) >= Number($Param_com) Then

xsjtxy 发表于 2010-8-23 12:32:38

回复 2# afan


    A版这句话如何理解啊?

afan 发表于 2010-8-23 12:36:21

本帖最后由 afan 于 2010-8-23 12:38 编辑

回复 3# xsjtxy


    哪里不理解啊?
字符串是按同一数量的字符排列大小的,13的首一位是1开头肯定小于9
加Number就是将字符串转为数字。

xsjtxy 发表于 2010-8-23 12:38:49

本帖最后由 xsjtxy 于 2010-8-23 12:41 编辑

回复 4# afan


   
。。。确实很诡异
居然是这样比较的。

lsqyx528 发表于 2010-8-23 12:45:26

回复 2# afan


    不注意确实会出错哦!!陷阱一样

afan 发表于 2010-8-23 12:48:59

回复 6# lsqyx528


    注意函数的返回类型就行了,字符串型数值比较一般就加个Number

Robell_liu 发表于 2010-8-23 12:58:32

多谢斑竹。
对了autoit整型的范围是多少呢?什么时候会产生溢出现象

pusofalse 发表于 2010-8-23 13:23:11

怀疑是autoit的bug—— 别一上来就怀疑是编程工具的bug,你自身都有问题,何以妄想找出编程工具的漏洞,漏洞都是那么好找的吗?

rolaka 发表于 2010-8-23 13:28:13

本帖最后由 rolaka 于 2010-8-23 13:31 编辑

http://www.autoitx.com/Doc/index.htm?page=html%2Fintro%2Flang_datatypes.htm

为什么不查查文档呢


而且如果出现这个问题 应该先试试VarGetType... 检查内部类型啊

minterz 发表于 2010-8-23 13:35:18

呵呵,应该先看看帮助文档的。。

3mile 发表于 2010-8-23 21:41:45

回复 9# pusofalse
哈哈,P大说的太好了,BUG是这么容易找的吗?
页: [1]
查看完整版本: 求助 :整型变量大小比较 出错 ,: 怀疑是autoit的bug