Hey.
Ich helfe gerade einer Freundin bei einer Aufgabe: Eine Zahl auf bestimmte Stellen Runden. Und der Code ansich funktioniert jetz auch, nur das Problem ist das mir Java dauernd Rundungsfehler gibt…
double gerundet;
double hilfe = zahl;
for (int i = 0; i <= stellen; i++) {
hilfe *= 10.0;
}
gerundet = (int) hilfe;
System.out.println("Hilfe: " + hilfe);
while (hilfe > 10) {
hilfe %= 10.0;
}
hilfe = (int) hilfe;
gerundet /= 10;
System.out.println(gerundet);
gerundet = (int) gerundet;
System.out.println(gerundet);
if (hilfe >= 5) {
gerundet++;
}
System.out.println(gerundet);
System.out.println();
for (int i = 0; i < stellen; i++) {
gerundet /= 10.0;
System.out.println(gerundet);
}
System.out.println();
System.out.println(hilfe);
// System.out.println(gerundet);
return gerundet;
}```
```run:
6
19
Hilfe: 1865664.3432999996
186566.4
186566.0
186566.0
18656.6
1865.6599999999999
186.56599999999997
18.656599999999997
4.0
18.656599999999997
BUILD SUCCESSFUL (total time: 0 seconds)```
Wie löse ich das?