Wie runde ich in Java auf n Nachkommastellen ohne die math-Methoden?

... komplette Frage anzeigen

1 Antwort

a)

Du teilst deine Zahl Modulo 1 und erhälst die Nachkommastellen.

double nachkommastellen = zahl % 1;

Damit kannst du entsprechend über auf- / abrunden entscheiden. Deine Zahl ist dann also:

double runden = 3.14;
boolean aufrunden = runden % 1 >= 0.5;
int gerundet = ((int) runden) + (aufrunden ? 1 : 0);

b)

Das gleiche, diesmal multiplizierst du deine Zahl vorher mit 10^(Anzahl der Nachkommastellen):

double nachkommastellen = zahl * Math.pow(10, n) % 1;

Der Code sieht dann ähnlich wie oben aus.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Belaro
30.11.2016, 19:40

Kleiner Anmerk: Falls du Allgemein die Klasse Math nicht verwenden darfst, dann ersetzt du 

Math.pow(10, n)

durch

10^n 
0
Kommentar von raptinator
30.11.2016, 20:45

Also in der Aufgabe steht keine Math Methoden. Also denke ich mal es gilt auch für Math.pow

0

Was möchtest Du wissen?