sex123 发表于 2015-6-16 18:19:47

遇到一个奇怪的问题,比较数值大小,并写入文件。

代码如下
If StringInStr($str, "上传成功") > 1 Then
        Local $FileSizeLimit = IniRead("FileSizeLimit.ini", "FileSizeLimit", "FileSizeLimit", 1000)
        If $FileSize > $FileSizeLimit Then
                IniWrite("FileSizeLimit.ini", "FileSizeLimit", "FileSizeLimit", $FileSize)
                IniWrite("FileSizeLimit.ini", "FileSizeLimit", "aid", $aid)
        EndIf
        Local $FileSizeLimit2 = IniRead("FileSizeLimit2.ini", "FileSizeLimit2", "FileSizeLimit2", 1000)
        If $FileSize < $FileSizeLimit2 Then
                IniWrite("FileSizeLimit2.ini", "FileSizeLimit2", "FileSizeLimit2", $FileSize)
                IniWrite("FileSizeLimit2.ini", "FileSizeLimit2", "aid", $aid)
        EndIf

....
本想通过这些代码实现一个功能,就是$FileSize这个变量与$FileSizeLimit比较,如果$FileSize大,则将$FileSize写入文件中,这段代码是反复执行的,一直找到是最大的文件的数值。同时找到最小文件的数值。
而结果却是FileSizeLimit.ini中的数值是个随机的数字。感觉上根本没有比较过。这是为什么,感觉是很简单的代码,为什么会出现这种问题呢?

sex123 发表于 2015-6-16 20:15:49

想了一天,刚刚解决了,变量是string类型,不能用>比较,必须转换成数字型,现在加了一个int,可以比较了。不知道string变成数值型是什么命令,选用int吧。我怎么记得autoit变量是可以自动转换的呢,难道是不同的变量比较的时候吗,郁闷。

hnfeng 发表于 2015-6-17 09:38:48

貌似是 number()

ap112 发表于 2015-6-18 09:14:54

如果确定字符串只是用0~9组成的,直接将字符串乘1不就行了

cheng8457 发表于 2015-6-18 11:48:20

參考參考 學習了 謝謝

nqawen 发表于 2015-6-21 10:02:50

number()   或int()?
页: [1]
查看完整版本: 遇到一个奇怪的问题,比较数值大小,并写入文件。