Abbruchbedingung

yidaki

Erfahrenes Mitglied
StackOverflowError [Abbruchbedingung]

Hallo zusammen....,

ich hab ein kleines programm geschrieben, bei dem ein gegebener wert, sagen wir einfach mal 10000 gegeben ist. Dieser soll durch die Formel

Code:
erg  += capital[i] / Math.pow(proSatz, i);

annähernd erreicht werden, indem man mit dem prozensatz variiert.

Nun mein problem liegt in der abbruchbedingung,

Code:
(kapital - erg == 0)

da diese nie erfüllt wird. folgende tracemeldung

Code:
100000.00000000003java.lang.StackOverflowError

wobei 100000.00000000003 != 10000 ist!

Kann man nicht sagen 5 stellen hinter dem komma oder sowas in der art?

gruß yid
 
Zuletzt bearbeitet:
Hallo!

Bei der Überprüfung von Fließkommazahlen auf Gleichheit ist immer vorsicht angebracht!
Du hättest die beiden Werte z.Bsp mit 1000 multiplizieren (wegen der drei letzten Signifikaten Nachkommastellen bei Geldbeträgen) und dann auf int / long casten können.

Gruß Tom
 
Zurück