yxxyun 发表于 2013-8-9 17:02:17

autoit处理 0.000001这样的数值的话,该如何做?

$i=0.000001
;While 1
MouseClick("left",948,351,1)
Send("{CTRLDOWN}a{CTRLUP}{BACKSPACE}")
Send($i)
$i=$i+0.000002
If $i==0.000011 Then
        $i=0.000000
ElseIf $i==0.000010 Then
        $i=0.000001
EndIf
WEnd
类似这样的代码,send出来的$i 不是0.000001,而是1000之类的数值,我的目的是两个循环,先是 i=0.000001,3,5,7,9,再是0.000002,4,6,8,这样的,请问怎么处理下数值才能实现?

user3000 发表于 2013-8-9 18:16:37

回复 1# yxxyun

autoit 的类型并不是分得那么一清二楚。 很多时候,你可以把数字当作字符串来处理。Const $prefix = '0.00000'
Local $float
For $i = 1 To 10
$float = $prefix & $i
If $float = 0.000005 Then MsgBox(0, '', $float)
Next

绿色风 发表于 2013-8-10 07:40:57

,先是 i=0.000001,3,5,7,9,再是0.000002,4,6,8

$i = 0.000001 [固定值不变]

你$i * (1,3,5,7,9) 不行吗
   

for $a = 1 to 9 step 2
   msgbox(0,0,$a*$i)
next

yxxyun 发表于 2013-8-10 15:42:34

回复 3# 绿色风


autoit自动把0.000001变成了科学计数法,对话框弹出的数值成了1e-006,请问如何保持0.000001的格式不变?

lanfengc 发表于 2013-8-11 20:26:45

Local $i=0.000001
MsgBox(0,0,StringFormat("%10.6f",$i))
页: [1]
查看完整版本: autoit处理 0.000001这样的数值的话,该如何做?