3.4 + 0.025 = 3.425
oder
34000 + 250 = 34250
sollte man annehmen, AutoIt ist da bei mir allerdings anderer Meinung. Dort erhält man bei ersterer Rechnung nämlich 3.424999...9. Getestet habe ich das auf 3 verschiedenen PC nur mit der Stable und erhalte immer wieder periodische Fließkommazahlen wo eigentlich keine erscheinen dürften.
Skript ist immer:
[autoit]For $i = 2 to 3.5 Step 0.025
ConsoleWrite("$i = " & $i & @LF)
Next
Alles geht gut, aber nur bis 3.4. Danach gibt es den gezeigten Fehler:
Output
Code
>"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Users\minx\Desktop\Examples\g.au3" /UserParams
+>02:02:41 Starting AutoIt3Wrapper v.2.1.0.8 Environment(Language:0407 Keyboard:00000407 OS:WIN_7/ CPU:X86 OS:X86)
>Running AU3Check (1.54.22.0) from:C:\Program Files\AutoIt3
+>02:02:41 AU3Check ended.rc:0
>Running:(3.3.8.1):C:\Program Files\AutoIt3\autoit3.exe "C:\Users\minx\Desktop\Examples\g.au3"
$i = 2
$i = 2.025
$i = 2.05
$i = 2.075
$i = 2.1
$i = 2.125
$i = 2.15
$i = 2.175
$i = 2.2
$i = 2.225
$i = 2.25
$i = 2.275
$i = 2.3
$i = 2.325
$i = 2.35
$i = 2.375
$i = 2.4
$i = 2.425
$i = 2.45
$i = 2.475
$i = 2.5
$i = 2.525
$i = 2.55
$i = 2.575
$i = 2.6
$i = 2.625
$i = 2.65
$i = 2.675
$i = 2.7
$i = 2.725
$i = 2.75
$i = 2.775
$i = 2.8
$i = 2.825
$i = 2.85
$i = 2.875
$i = 2.9
$i = 2.925
$i = 2.95
$i = 2.975
$i = 3
$i = 3.025
$i = 3.05
$i = 3.075
$i = 3.1
$i = 3.125
$i = 3.15
$i = 3.175
$i = 3.2
$i = 3.225
$i = 3.25
$i = 3.275
$i = 3.3
$i = 3.325
$i = 3.35
$i = 3.375
$i = 3.4
$i = 3.42499999999999
$i = 3.44999999999999
$i = 3.47499999999999
$i = 3.49999999999999
+>02:02:42 AutoIT3.exe ended.rc:0
>Exit code: 0 Time: 3.237
Alles anzeigen
Ist die Ursache nun tatsächlich ein Bug? (Mir ist klar, dass es auch hier Workarounds gibt, aber das darf ja nicht sein.)