遇到一个奇怪的问题,比较数值大小,并写入文件。
代码如下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中的数值是个随机的数字。感觉上根本没有比较过。这是为什么,感觉是很简单的代码,为什么会出现这种问题呢? 想了一天,刚刚解决了,变量是string类型,不能用>比较,必须转换成数字型,现在加了一个int,可以比较了。不知道string变成数值型是什么命令,选用int吧。我怎么记得autoit变量是可以自动转换的呢,难道是不同的变量比较的时候吗,郁闷。 貌似是 number() 如果确定字符串只是用0~9组成的,直接将字符串乘1不就行了 參考參考 學習了 謝謝 number() 或int()?
页:
[1]