Hallo,
ich programmiere gerade einen Funktionszeichner mit C#. Um die Funktionen so gut wie
möglich darzustellen erstelle ich die Wertetabelle nicht nur in einer Schritten sondern
in 0.1 Schritten. Das mache ich mit einer simplen for Schleife:
C#-Quelltext
1: 2: 3: 4:
| for (Single i = start; i <= end; i = i + (Single) 0.1 ) { } |
Jedoch macht C# einen Fehler beim Hochzählen:
Quelltext
1: 2: 3:
| -10.0+0.1 = -9.9 -9.9+0.1 = -9.8 -9.8+0.1 = -9.700000000000011 ?! |
ab da stimmt dann natürlich nichts mehr. (Der Fehler tritt auch im Direkt Fenster des Debuggers auf)
Was mache ich falsch? (Ich kann mir eigentlich nicht vorstellen, dass es an C# liegt...
wäre ja ein riesen Bug)
Danke schonmal
@Edit: Tippfehler korigiert