Falsches Ergebnis bei Rechnung

malte9669

Neues Mitglied
Ich habe bei Java eine simple Rechnung gemacht, aber das ergebnis macht überhaupt keinen Sinn.

Java:
public class Test {
  public static void main(String[] args) {
  
    double x = 1.0;
    double y = 1.0;
   
    System.out.println("x = " + x);
    System.out.println("y = " + y);
   
    x = x + 0.1;
    x = x + 0.1;
   
    System.out.println("");
   
    y = y + 0.1;
    y = y + 0.2;
   
    System.out.println("x = " + x);
    System.out.println("y = " + y);
  }
}

Als Ergebnis erhalte ich:
x = 1.0
y = 1.0

x = 1.2000000000000002
y = 1.3

Wieso ist x nach der Rechnung so eine seltsame Kommazahl und nicht einfach 1.2?

Auch bei einer weitergehenden Rechnung ist dies so:

Java:
public class Test {
  public static void main(String[] args) {
  
    double z1 = 1.0;
   
    System.out.println("z1 vor i = " + z1);
   
    for (int i = 0; i < 7; i++) {
      z1 += 0.1;
      System.out.println("z1 bei i" + i + " = " + z1);
    }
   
    System.out.println("z1 nach i = " + z1);
    System.out.println("");
   
    double z2 = 1.0;
   
    System.out.println("z2 vor i = " + z2);
   
    for (int i = 0; i < 4; i++) {
      z2 += 0.2;
      System.out.println("z2 bei i" + i + " = " + z2);
    }
   
    System.out.println("z2 nach i = " + z2);
  }
}

Hier erhalte ich:
z1 vor i = 1.0
z1 bei i0 = 1.1
z1 bei i1 = 1.2000000000000002
z1 bei i2 = 1.3000000000000003
z1 bei i3 = 1.4000000000000004
z1 bei i4 = 1.5000000000000004
z1 bei i5 = 1.6000000000000005
z1 bei i6 = 1.7000000000000006
z1 nach i = 1.7000000000000006

z2 vor i = 1.0
z2 bei i0 = 1.2
z2 bei i1 = 1.4
z2 bei i2 = 1.5999999999999999
z2 bei i3 = 1.7999999999999998
z2 nach i = 1.7999999999999998

Wieso? Das macht doch gar keinen Sinn :/
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y Falsches Ergebnis mit "/" Operator Allgemeine Java-Themen 2
J-Gallus Erste Schritte Wahrscheinlich Anfänger Fehler beim rechnen. Falsches Ergebnis. Allgemeine Java-Themen 9
D Timestamp to Date, ergibt falsches ergebnis Allgemeine Java-Themen 5
OnDemand Download Textdatei falsches Charset Allgemeine Java-Themen 1
S Falsches Encoding bei Drag and Drop von Umlauten Allgemeine Java-Themen 16
D DecimalFormat: entfernt falsches Komma Allgemeine Java-Themen 12
L Gregorian Calender falsches Datum Allgemeine Java-Themen 2
A JSmooth nimmt falsches JRE! Allgemeine Java-Themen 5
W Variable Initialisierung mit dem Ergebnis einer Regex Allgemeine Java-Themen 1
OnDemand XML desializing Attribute bringt nicht erwartetes Ergebnis Allgemeine Java-Themen 16
N Wie kommt dieses Ergebnis zu stande Allgemeine Java-Themen 15
S Seltsames Ergebnis mit Date-Klasse Allgemeine Java-Themen 6
H float Berechnung: Ergebnis ohne wissenschaftliche Notation Allgemeine Java-Themen 5
T If Vergleich ergibt nicht das richtige Ergebnis Allgemeine Java-Themen 2
Chr1s ergebnis = Zahl? Allgemeine Java-Themen 3
R Threads asynchrone Tätigkeit mit Ergebnis Auswertung Allgemeine Java-Themen 4
Antoras Micro-benchmark für parallel vs. sequentiell erzeugt unerwartetes Ergebnis Allgemeine Java-Themen 8
S Ergebnis von Cursor c1 mit Cursor c2 vergleichen Allgemeine Java-Themen 3
M 2 Methoden, 2 Rückgabewerte, aber ein Ergebnis Allgemeine Java-Themen 7
N contains(.) liefert nicht erwartetes Ergebnis Allgemeine Java-Themen 3
M richtiges Ergebnis zählen und übergeben? Allgemeine Java-Themen 7
D Wann ist das ergebnis einer Rechnung eine Double? Allgemeine Java-Themen 7
Soloeco BreakEven Rechnung Allgemeine Java-Themen 28
D Brauche Hilfe bei Rechnung (Exponentiation) Allgemeine Java-Themen 12
M Arraynamen an andere Klasse übergeben für allg. Rechnung Allgemeine Java-Themen 7
C Rechnung genau 8 mal ausführen Allgemeine Java-Themen 5
S Simple Rechnung automatisieren Allgemeine Java-Themen 4
Lazybone Rechnung erstellen und Drucken Allgemeine Java-Themen 19
A Fehler bei Rechnung mit GregorianCalendar Allgemeine Java-Themen 6
R Rechnung aus Java heraus erstellen und drucken Allgemeine Java-Themen 8
B Prozent Rechnung Allgemeine Java-Themen 19
J Eine Rechnung speichern vom Drucken Allgemeine Java-Themen 3
K warum ist bei der rechnung 2 / 3= 0 ? Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben