Python: Kann man einen Integer abrunden?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
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

ItachiUchihaLX 
Fragesteller
 08.01.2021, 22:47

Sorry, ich meinte Float.

0
ItachiUchihaLX 
Fragesteller
 08.01.2021, 22:51
@xxxcyberxxx

Float ist nicht genauer bestimmt. Das war eine allgemeine Frage, wie man das Ergebnis einer Rechnung, immer abrunden lässt.

0
ItachiUchihaLX 
Fragesteller
 08.01.2021, 22:54
@xxxcyberxxx

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?

0
xxxcyberxxx  08.01.2021, 22:55
@ItachiUchihaLX

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
1

Abrunden:

floor(0.5)

Aufrunden:

ceil(0.5)

Runden:

round(0.5)

dir ist hoffentlich klar, dass ein integer bereits eine ganzzahl ist

ItachiUchihaLX 
Fragesteller
 08.01.2021, 22:46

Sorry, ich meinte Float.

0
ItachiUchihaLX 
Fragesteller
 08.01.2021, 22:49
@affenjunge126

Okay, aber der Befehl rundet dies logisch gesehen. Ich will aber, dass dieser immer abrundet

0
ItachiUchihaLX 
Fragesteller
 08.01.2021, 22:52
@affenjunge126

Aber Round rundet bei z.B. 0,7 auf 1,0 auf.

Gibt es keinen Weg, wie man 0,7 auf 0 abrundet?

0
affenjunge126  08.01.2021, 22:54
@ItachiUchihaLX

ach das meinst du... ich würde da einfach den float in einen integer konvertieren, dann fallen nämlich die nachkommastellen weg ;)

0
TechPech1984  08.01.2021, 22:58
@ItachiUchihaLX

es schneidet ab , für runden gibts extra funktionen - int nimmt die erste ganzzahl und lässt das hinterm komma/punkt weg

0
TechPech1984  08.01.2021, 23:06
@affenjunge126

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 .

0
ItachiUchihaLX 
Fragesteller
 08.01.2021, 23:14
@TechPech1984

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?

0

zeig doch mal was dein code sein soll , die aussage die du tätigst ist verwirrend .

ItachiUchihaLX 
Fragesteller
 08.01.2021, 22:46

max_num = money / int(preis[1])

print("Anzahl (Maximal " + str(max_num) + "):")

Es soll das Ergebnis von max_num abrunden.

0
TechPech1984  08.01.2021, 22:58
@ItachiUchihaLX

print("Anzahl (Maximal " + str(int(max_num) )+ "):")

z.b.

int rundet automatisch ab , bzw schneidet ab . sonst muss man eine runden funktion nehmen

0

Wie willst du das machen? Da ist ein Integer und kein double

Woher ich das weiß:Hobby – Ich Programmiere seit 9 Jahren und betreibe Server seit 6.
ItachiUchihaLX 
Fragesteller
 08.01.2021, 22:47

Sorry, ich meinte Float.

0