LUG OWL
Anmelden Registrieren
Diese Liste verwalten Anmelden Registrieren

Tastenkürzel

Thread-Ansicht

  • j: Nächste ungelesene Nachricht
  • k: Vorherige ungelesene Nachricht
  • j a: Zu allen Threads wechseln
  • j l: Zur Listenübersicht springen
Diskussionsstrang

OT : Java

jan.krueger@in.tum.de

23 Apr 2002 23 Apr '02
17:26

Hi Leutz, ich programmiere gerade einiges in Java ... und bin dabei auf etwas wirklich komisches gestoßen. Ich habe ein kleines Java Programm mit nur einer Mainmethode ... public static void main (String [] args) { for (double x = 0.0; x < 1; x = x + 0.1) { System.out.print(x+" "); } System.out.print("\n"); for (float x = 0.0f; x < 1; x = x + 0.1f) { System.out.print(x+" "); } System.out.print("\n"); } } Das ganze sollte eigentlich so etwas wie 0.0 0.1 ... 0.9 erzeugen. Und zwar zweimal. In der Realität sieht das ganze schon anders aus, da bekomme ich : 0.0 0.1 0.2 0.30000000000000004 0.4 0.5 0.6 0.7 0.799999999999999 0.8999999999999999 0.9999999999999999 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.70000005 0.8000001 0.9000001 ?!?!? Hä, wie kann das denn sein? Habe ich hier nen Bug in Java oder bei mir gefunden ? Liegt jedenfalls nicht am Betriebssystem(Linux, Solaris oder Win) oder der Java-Version(1.1.8, 1.2.2, 1.3.1, 1.4.0 alle von SUN). Kann sich das von Euch einer erklären ? Danke Jan --- Dipl.-Inf. Jan Krueger Lehrstuhl für Informatik VI - Prof. A. Knoll Robotics and Embedded Systems Orleanstr.34 # D-81667 Muenchen (089)48095-276

Antworten
Anmelden, um online zu antworten E-Mail Software benutzen

Zurück zum Diskussionsstrang

Zurück zur Liste

HyperKitty Angetrieben von HyperKitty Version 1.3.12.