Winkelfunktion, Rundungsproblem

Fohnbit

Top Contributor
Hallo!

Ich habe ein Rundungsproblem:
Java:
for (double u = 1; u < 1000000; u++) {
			System.out.println(Math.toDegrees(Math.acos(Math.cos(Math
					.toRadians(u)))));
		}

ergibt:
0.9999999999988066
1.9999999999972136
3.0000000000022324
3.9999999999942966
4.999999999999335
5.9999999999978355

Wenn ich die Berechnung aber im Windows Taschenrechner eingebe, erhalte ich korrekt:
1
2
3
4
5
6

Kann ich das Problem irgendwie lösen?

Vielen Dank!
 

Thallius

Top Contributor
Nur wenn du dich für eine maximale Anzahl an Stellen entscheidest. Wenn Du sagst 9 Stellen reichen mir, dann einfach Math.round benutzen und gut ist.

Gruß

Claus
 

Androbin

Bekanntes Mitglied
Hast du denn vielleicht irgendein denkbares Szenario, in dem das (ewige hin und her) einen Sinn macht, bzw. die Rundungsfehler einen bedeutenden Unterschied machen (würden)?
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben