# Problem mit einfacher For-Schleife und Double Wert



## Guest (27. Jun 2005)

Abend,

es ist echt lächerlich, aber ich hab ein Problem mit einer einfachen For-Schleifen

```
public static void main(String[] args){
   double d;
   for(d = 0.0; d <= 1.0; d += 0.1)
     System.out.print(d);
   }
}
```

Die Ausgabe sieht dann so aus :

0.1
0.2
0.3000004
0.4
0.5
0.6
0.7
0.79999999
0.89999999
0.99999999

 :?:  Wieso?


----------



## Gast (27. Jun 2005)

Was ist das Problem?


----------



## pappenpeter (27. Jun 2005)

Das sind ungenauigkeiten...

Weil der Rechner Floats in Exponentendarstellung speichert.. Zu solchen Fehlern kann es kommen. an besten rundest du oder lässt floats weg.


Nimm wenn dann eh lieber double


----------



## Roar (27. Jun 2005)

pappenpeter hat gesagt.:
			
		

> Das sind ungenauigkeiten...
> 
> Weil der Rechner Floats in Exponentendarstellung speichert.. Zu solchen Fehlern kann es kommen. an besten rundest du oder lässt floats weg.
> 
> ...


lies mal den code, er benutzt doubles 
@fragesteller: da anscheinend die ungenauigkeiten dein problem sind, siehe hier: http://www.java-forum.org/de/viewtopic.php?t=16082


----------



## pappenpeter (27. Jun 2005)

*gg*.. Ja, wie komme ich auf float? Die Uhrzeit.. die Uhrzeit *gg*


----------

