Python Nachkommastelle auslesen?

2 Antworten

Dafür gibt es die Round funktion.

Manuell kannst du das so machen:

Kommazahl ansprechen:

zahl = 6.5

zahlhintermkomma = str(zahl).split(".")[1]

Und dann noch runden:

if zahlhintermkomma < 5:
  zahl = int(zahl)

if zahlhintermkomma > 5:
  zahl = int(zahl) + 1
malte314  14.05.2022, 23:18
zahlhintermkomma = str(zahl).split(".")[1]

Geht auch so:

nachkomma = zahl % 1

So ist es kürzer, einfacher zu verstehen und viel performanter. Außerdem funktioniert es immer und hängt nicht davon ab, wie die Zahl als string repräsentiert wird (in anderer localization vielleicht mit "," als Separator oder in e-Notation bei großen Zahlen).

1
malte314  14.05.2022, 23:57
@TimeTravel3

Was ist daran unverständlich? Eine Zahl modulo 1 ergibt der ersten Nachkommastellen. Du teilst im Integer-Kontext durch 1 und erhältst den Rest - also alles nach dem Komma.

0
DassoderDas 
Fragesteller
 15.05.2022, 10:24

sehr cool danke

0
int(x + 0.5)

Dann musst du dir keine Nachkommastellen angucken.

Aber es geht auch

round(x)

Und

round(x,2)

rundet auf 2 Nachkommastellen