# double multipliziert mit int ergibt Rundungsfehler



## 2.6edr (18. Dez 2007)

Hallo!

Ich habe eine double variable mit dem wert 0.1 Diese erhöhe ich in einer Schleife indem ich mit einem int multipliziere der immer um den Wert eins wächst.
Das Ergebnis sieht so aus:



> 0.0
> 0.1
> 0.2
> 0.30000000000000004
> ...



usw.

warum?


----------



## Wildcard (18. Dez 2007)

http://de.wikipedia.org/wiki/Gleitkommazahl  :###


----------



## efefe (18. Dez 2007)

Okay der link geht nicht aber die botschaft ist klar. Nur wie bekomme ich den fehler weg?


----------



## Wildcard (18. Dez 2007)

Der Link geht und ein Fehler ist es nicht, demzufolge kann er auch nicht behoben werden.


----------



## function (18. Dez 2007)

also der link funktionier....
fehler bekommste weg wenn du einfach auf eine nachkommastelle rundest


----------



## Marco13 (18. Dez 2007)

Rundungsfehler wegrunden - warum ist da vorher noch niemand drauf gekommen  :lol: 

Dass dort 
0.1
angezeigt wird, und nicht
0.100000000000000001212431541253415 (oder so)
ist reiner Zufall, bzw. eine kleine Nettigkeit von dem, was hinter System.out.println steckt. Manche Zahlen können eben einfach nicht als float oder double dargestellt werden.


----------

