[JAVA]Fehler bei float

Wie kommt es ,daß ich bei folgender Routine
ab i=7 immer falsche Werte bekomme? Und wie kann ich das ändern?

 float f=0.0f;
 for(int i=0;i 
Ergebnis:

f:0.1

f:0.2

f:0.3

f:0.4

f:0.5

f:0.6

f:0.70000005

f:0.8000001

f:0.9000001

f:1.0000001

usw.

Gruß,
Frédéric

Hallo Frédéric,

was du siehst sind Rundungsfehler die bei Float schon sehr früh zu erkennen sind. Verbesser kann man dies in dem man double nimmt allerdings ist damit das problem ncht beseitigt. Einzige möglichkeit dies zu umgehen ist Integerzahl zum rechnen zu verwenden und erst ganz zum schluß die Wandlung in float durchzuführen.

m.f.g.

Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]