Einzelnen Beitrag anzeigen
Alt 23.01.2010, 14:15   #1
mix
Registriert
Lord of the Board
 
Benutzerbild von mix
 
Registrierungsdatum: Oct 2002
Ort: there
Beiträge: 1.891
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?

Grüsse
Michael
mix ist offline   Mit Zitat antworten