Python: Kann man einen Integer abrunden?
Hey, ich wollte fragen, ob man das Ergebnis einer Division mit einem Befehl abrunden kann.
5 Antworten
Python: Kann man einen Interger abrunden?
ein Integer ist schon ein ganzer Wert, da ist nichts mit "abrunden" bei einer Division
Du kannst Python sagen, dass es eine Integer-Division machen soll, indem du // statt / nutzt
Sonst kannst du einen Float zu einem Integer casten, wenn du int(number) nutzt
Float ist nicht genauer bestimmt. Das war eine allgemeine Frage, wie man das Ergebnis einer Rechnung, immer abrunden lässt.
caste es zu einem Integer und dann eventuell zurück zum Float.
Alternativ math.floor()
Wenn das Ergebnis jetzt aber beispielsweise 1,8 ist, und ich es zu einem Integer caste, wird es dann nicht auf 2 aufgerundet, oder bin ich dumm?
Bei einer Konvertierung zum Integer wird alles nach dem Komma abgeschnitten, egal wie nah es zur nächten Zahl ist
a = 53 / 5
print(a)
print(int(a))
print(1.0 * int(a))
print(float(int(a)))
Ausgabe:
10.6
10
10.0
10.0
Abrunden:
floor(0.5)
Aufrunden:
ceil(0.5)
Runden:
round(0.5)
dir ist hoffentlich klar, dass ein integer bereits eine ganzzahl ist
ja dann sieht's anders aus. https://www.programiz.com/python-programming/methods/built-in/round
Okay, aber der Befehl rundet dies logisch gesehen. Ich will aber, dass dieser immer abrundet
ich versteh dein problem net, du musst halt nach der division immer round aufrufen
Aber Round rundet bei z.B. 0,7 auf 1,0 auf.
Gibt es keinen Weg, wie man 0,7 auf 0 abrundet?
ach das meinst du... ich würde da einfach den float in einen integer konvertieren, dann fallen nämlich die nachkommastellen weg ;)
Wenn man es aber in einen Integer konveniere, rundet es wirklich immer ab?
es schneidet ab , für runden gibts extra funktionen - int nimmt die erste ganzzahl und lässt das hinterm komma/punkt weg
genau, aber wenn er immer abrunden will kommt das aufs gleiche hinaus
was meinst du ? verstehe deine argumentation nicht, ich erkläre wie was funktioniert und du kommst mit , aber ... er soll es verstehen lernen . runden meint im algemeinen geschäftliches runden , wo extra unteschieden wird nach unter 0.5 und ab 0.5 . das er das immer macht ist ok , er hats nur nicht verstanden gehabt , wie es funktioniert .
Hey, ich habe noch eine Frage. (Sorry ich lerne es erst seid 2 Tagen deswegen bin ich noch nicht so gut)
Ich schicke am Besten den Code damit es einfacher zu erklären ist:
max_num = money / int(preis[1]) <- max_num = Float
print("Anzahl (Maximal " + max_num + "):") <- max_num = String
Das Problem ist aber, dass ich es irgendwo noch in einen Integer koventieren muss. Ist das möglich?
zeig doch mal was dein code sein soll , die aussage die du tätigst ist verwirrend .
max_num = money / int(preis[1])
print("Anzahl (Maximal " + str(max_num) + "):")
Es soll das Ergebnis von max_num abrunden.
print("Anzahl (Maximal " + str(int(max_num) )+ "):")
z.b.
int rundet automatisch ab , bzw schneidet ab . sonst muss man eine runden funktion nehmen
Wie willst du das machen? Da ist ein Integer und kein double
Sorry, ich meinte Float.