Double --> Integer

Zettelkasten

Aktives Mitglied
Hallo Leute!

Bei meinem neustem Projekt muss ich mich etwas näher mit Rundungen beschäftigen.
Gegeben sind:
Java:
double d = 0;
int result = 0;
Angefangen habe ich mit:
Java:
d = 0.9;
result = (int) d;
Wie erwartet war
Code:
i = 0
, da Java automatisch abrundet.
Als ich dann jedoch folgendes ausprobiert habe:
Java:
d = -0.9;
result = (int) d;
Kam unerwartet
Code:
i = 0
heraus. Warum? Eigentlich rundet Java doch ab, oder?

Könnt ihr mir bitte helfen? Laut meiner Vorstellung müsste da
Code:
i = -1
herauskommen, tut es aber nicht. Dies ist jedoch der entscheidende Punkt meines Programmes 🙁

Vielen Dank für eure Antworten,

Mfg Zettelkasten
 
Java rundet nicht ab, sondern schneidet einfach den Nachkommanateil ab. Deswegen kommt da auch die 0 raus.

Wenn du wirklich immer abrunden willst:
Java:
a = (int) Math.floor(ha);
 
Zuletzt bearbeitet:
Steht alles in den FAQs.

Neulich war hier auch eine Frage zum Vergleichen von Strings, die ebenfalls in den FAQs behandelt wird. Manchmal darf man sich fragen, ob FAQs überhaupt gelesen werden … ^^;

Ark
 

Neue Themen


Zurück
Oben