Operatoren Warum kommt bei double bei den Nachkommastellen irgendwann eine 2?! (1.20000000000002)

vram78

Mitglied
Hallo,

Wenn ich folgendes ausführe:

Java:
public class lebenslauf3 {
public static void main(String[] args) {


double z = 1.0;
z = z + 0.1;
z = z + 0.1;
System.out.println("z == 1.2 = " + (z == 1.2));
System.out.println("z = " + z);


}
}

erwartet man eigentlich, dass bei dem ersten printline Befehl true herauskommt. Ich hatte den Wert der Variable verändert. Also ist es nun 1.2

wenn ich dann die neue veränderte Variable mit der Zahl 1.2 vergleichen will, kommt false raus! Warum??

Daraufhin wollte ich schauen, wie das denn sein kann und siehe da: Die Variable hat nach der Änderung gar nicht den Wert 1.2, sondern 1.2000000000000002


deswegen ist es auch nicht gleich mit 1.2

Aber warum ist ganz am Ende eine 2 ??




MFG
 

Anhänge

  • wtf.PNG
    wtf.PNG
    881 Bytes · Aufrufe: 29

Neue Themen


Zurück
Oben