Wie vermeide ich Zahlenverkürzungen in Python?

RouteUS66  25.07.2022, 20:01

Hm, also bei mir wird die Ausgabe der Zahl nicht verkürzt.

Alex950130 
Fragesteller
 27.07.2022, 16:53

Kannst du ein Screenshot oder sowas machen?

2 Antworten

Die Zahl selbst wird nicht „verkürzt“. Sie wird mit der vollen in Gleitkommadarstellung möglichen Genauigkeit gespeichert.

Wenn du bei der Ausgabe eine bestimmte Zahl von Nachkommastellen erreichen willst, geht das mit f-Strings so:

https://stackoverflow.com/a/45310389

Alex950130 
Fragesteller
 27.07.2022, 11:48

Danke! Aber wenn ich diesen Code eingebe:

a = 10/3

a = f'{a:.20f}'

print(a)

Kommt als Ausgabe 3.33333333333333348136 also richtig mit einer random Zahlenkombination.Wieso ist das so?

0
Alex950130 
Fragesteller
 27.07.2022, 22:21
@schnfz

Kann ich das mit irgendeinem Code vermeiden?

0

Hey,

wenn ich mich nicht irre, müsste das einfach so gehen:

a = float(1.3452347683765746)
print(a)

Mfg Jannick (L1nd)

Woher ich das weiß:eigene Erfahrung
Alex950130 
Fragesteller
 26.07.2022, 15:49

Aber ich habe ja gesagt, das ich das machen muss... Weil ich z. B. dann noch um damt zu arbeiten , str(a) und dann wieder float(a) machen muss. Aber danke.

0
JanMarcel01  26.07.2022, 15:52
@Alex950130

Kannst nach meinem Code immer noch str(a) machen. Verstehe das Problem daran gerade nicht :)

0
Alex950130 
Fragesteller
 27.07.2022, 22:18
@JanMarcel01

Das war jetzt aber nur mein Beispiel. In meinem Code rechne ichdirekt etwas aus. Dann kann dazwischen keine neue Variable erstellt werden...

0