Java: Datentypen konvertierung und ausgabe einer double-variable
Hi,
Bin mal wieder hier und hab gedacht könnte mal wieder was fragen, mal schauen ob noch wer hier ist
Habe jetzt dann eine Java prüfung und dazu eine kleine Frage:
In einer Beispiel prüfung ist gefragt was folgendes ausgibt:
Code:
// d hat den datentyp double
for (d = 1.0; d >= 0.4; d -= 0.3);
System.out.println(d);
Das gibt dann 0.39999999999999997 zurück. Wieso wird da nicht 0.4 zurückgegeben?
Die Schleife wird ja 2x ausgeführt: zuerst auf 0.7 und dann auf 0.4. Wenn ich in der Schleife das "d" ausgeben lasse wird mir explizit auch 0.7 ausgegeben und nicht 0.69999999999999997.
Wieso wird dann beim andern sysout dies so ausgegeben? Ist das weil das irgendwie versucht irgendeine grösstmögliche genauigkeit oder so hinzubringen?