Nachkommastellen von einem int entfernen (Java)?
Hallo,
Ich will eine Zahl, die in Sekunden angegeben ist, durch 60 teilen um auf die Minutenzahlen zu kommen. Das Problem ist dass es natürlich Nachkommastellen hat. Weiß jemand wie man diese entfernen kann? Also es ist wichtig dass sie entfernt und nicht gerundet werden!
Für die, die sich fragen was ich damit machen will (irrelevant):
Also ich will in einem Scoreboard in Minecraft einen Timer einbauen der in diesem Format angezeigt wird: "00:00" und habe mir überlegt die Sekunden durch 60 zu teilen die Nachkommastellen zu entfernen und sie dann bei den ersten 2 nullen einzutragen also zum beispiel wenn es 3min sind "3:00". und um die Sekunden rauszukriegen hab ich mir ganz simpel überlegt die insgesamte Sekundenanzahl minus die Minuten geteilt durch 60 zu nehmen.
Also zum Beispiel es sind 356Sekunden. Ich teile die 356 durch 60 und es kommt 5,99.. raus. Ohne zu runden ist es 5. Dann würde ich einfach für die Sekundenzahl wieder 5x60 also 300 nehmen und dann die 356 - 300 nehmen und dann hab ich 56. Und dann würde ich die einfach in den 2 anderen nullen eintragen also das es dann "5:56" ist (ist nicht schlimm falls ihr es nicht versteht nur des oben ist relevant)
5 Antworten
Nachkommastellen von einem int entfernen (Java)?
Integer ist eine Ganzzahl, hat also keine Nachkommastelle.
Wenn du einen Float/Double zu einem Int umwandelst, werden die Nachkommastellen abgeschnitten
Aber rundet der Integer die Zahl oder entfernt er einfach die Nachkommastellen?
Lies doch nochmal den letzten Satz meiner Antwort ...
Die Lösung ist einfach, ein Int hat keine Nachkommastellen, also hast du auch kein Problem.
Der Datentyp int unterstützt sowieso keine Nachkommastellen... Double könnte das...
Beim umwandeln eines Double in eine Integer, werden die Nachkommastellen einfach vergessen (also ohne runden)
Hallo,
Integervariablen haben prinzipiell keine Nachkommastellen, deshalb muss man sie auch nicht abschneiden.
Weist man einer Integervariablen den Wert einer Fließkommazahl zu, werden die NKSTellen automatisch abgeschnitten
LG
Harry
String zeit(int sekunden) {
// liefert bei 356 Sekunden den String 05:56
int min = sekunden / 60;
int sec = sekunden % 60;
return String.format("%02d:%02d",min,sec);
Oh okay, dann ist es ja eigentlich geklärt. Aber rundet der Integer die Zahl oder entfernt er einfach die Nachkommastellen? Also wenn es 119 sind und ich durch 60 teile soll 1 rauskommen und nicht 2 also nicht gerundet