Warum, wenn ich diesen Code in print-Anweisung drucken wird die Ausgabe nicht korrekt sein.Warum, wenn eine Dezimalzahl im System subtrahieren die Ausgabe nicht korrekt
System.out.println(3.15 - 3);
der Ausgang ist:
0.1499999999999999
Ich denke, die ausgegeben werden müssen.
0.15
Gleitkommaarithmetik ist nicht exakt. Es gibt eine Menge Literatur darüber. – Brick
warum java macht das !! .. und gibt es eine Lösung dafür? –
Es ist nicht "Java" tut es. Es sind grundlegende Wahrheiten über mathematische und endliche Präzisionsdarstellungen von reellen Zahlen, die in allen Sprachen üblich sind, die eine Gleitkommadarstellung haben. Fixpunkt hätte verwandte, aber unterschiedliche Probleme. Das Problem ist, dass es unendlich viele reelle Zahlen gibt und nur endlich viele genau auf 16 Bits dargestellt werden können. Suche nach "Gleitkommaarithmetik." – Brick