A
FloatBoy schrieb:
Ich habe einfach anstatt Float Double genommen und schon gehts.
Wie auch schon von Joe_M. angedeutet: Nein.
Alle Vergleiche von Gleitkommazahlen, unabhängig ob nun float, double oder was auch immer, sind niemals genau. Grundsätzlich läuft es in so einem Fall immer auf einen Deltavergleich hinaus, bei dem das Delta abhängig von der Aufgabenstellung gewählt wird.
Vereinfachte Betrachtung:
Fließkommazahlen bassieren wie integrale Datentypen auf der 2er-Potenz.
7 Wäre also das gesetzte Bit für 1 und 2 und 4. Soweit noch gut, nun kommt der Nachkommaanteil hinzu: 0.5, 0.25, 0.125... Jetzt Stell mal 0.3 so dar, das es wirklich verglichen werden kann (inkl. Rundungsfehlern).
Schau dir bitte die Lösung von harryjon35 an, die deutet an, wie man es üblicherweise macht. Wenn du mit sowas nicht arbeiten willst, musst du mit Festkommazahlen arbeiten (Wozu es auch Bibliotheken gibt).