Hallo zusammen,
folgendes Minimal-Beispiel:
Sub test()
Dim a As Double
For a = -0.12 To 1 Step 0.01
Debug.Print (a)
Next a
End Sub
erzeugt bei mir folgenden Output:
-0,12
-0,11
-0,1
-0,09
-0,08
-0,07
-0,06
-0,05
-0,04
-0,03
-0,02
-0,01
-1,04083408558608E-17
9,99999999999999E-03
0,02
0,03
0,04
0,05
0,06
0,07
0,08
0,09
0,1
0,11
0,12
0,13
0,14
0,15
0,16
0,17
0,18
0,19
0,2
0,21
0,22
0,23
0,24
0,25
0,26
0,27
0,28
0,29
0,3
0,31
0,32
0,33
0,34
0,35
0,36
0,37
0,38
0,39
0,4
0,41
0,42
0,43
0,44
0,45
0,46
0,47
0,48
0,49
0,5
0,51
0,52
0,53
0,54
0,55
0,56
0,57
0,58
0,59
0,6
0,61
0,62
0,63
0,64
0,65
0,66
0,67
0,68
0,69
0,7
0,71
0,72
0,73
0,74
0,75
0,76
0,77
0,78
0,79
0,8
0,810000000000001
0,820000000000001
0,830000000000001
0,840000000000001
0,850000000000001
0,860000000000001
0,870000000000001
0,880000000000001
0,890000000000001
0,900000000000001
0,910000000000001
0,920000000000001
0,930000000000001
0,940000000000001
0,950000000000001
0,960000000000001
0,970000000000001
0,980000000000001
0,990000000000001
Da scheinen for-Schleifen ein generelles Problem beim Übergang nach 0 zu haben und die Nachkommastellen am Ende finde ich auch seltsam.
Weiß jemand, wie man das sauber hinbekommt (s.d. a auch wirklich 0 wird)?
Vielen Dank und Grüße Andre
|