Seite 1 von 1

Wie kürze ich Fließkommazahlen auf 2 Stellen nach dem Komma?

Verfasst: Dienstag 25. November 2003, 10:40
von Gotch@
Wie stelle ich das an??
Also anstelle von 29,346890000 will ich nur 29,34 oder von mir aus auch 29,3. Vor dem Komma sollten drei und einstellige Werte ebenfalls berücksichtigt werden... Gibt´s da ne Funktion in Python?
mfG

Re: Wie kürze ich Fließkommazahlen auf 2 Stellen nach dem Ko

Verfasst: Dienstag 25. November 2003, 11:32
von Voges
Hallo!
Willst Du den Wert also solches runden oder nur die Darstellung in der Ausgabe?

Für Ersteres gibt es round().
Für Letzteres die Formatangaben: print "%.2f" % (29.346890000) # Ausgabe: 29.35

Ansonsten suche mal nach "runden" über die Suchfunktion des Boards hier. Zu dem Thema gab es schon einiges. Früher oder später könnten auch die Infos aus http://www.kubieziel.de/moin.cgi/Warum_ ... ungenau_3f nützlich sein ;-)

Jan

Verfasst: Dienstag 25. November 2003, 11:56
von Gast
Ich benötigte dies lediglich für die Darstellung.
Hat geklappt! (mit "%.2f" % (Wert))
Danke! :-)

Syntax des Format-Operators

Verfasst: Dienstag 25. November 2003, 16:52
von strogon14
Anonymous hat geschrieben: Hat geklappt! (mit "%.2f" % (Wert))
Achtung: in deinem Beispiel ist ein kleiner Fehler. Die Syntax für den % Operator ist:

formatstring % tuple

Ein Tupel mit nur einem Wert muss aber so notiert werden: (Wert,) (Beachte das Komma!).

Du schreibst (Wert) und das ist ein geklammerter Audruck.

Zwar akzeptiert Python statt einem Tupel auch einen einzigen Ausdruck, wenn aber Wert selbst ein Tupel ist, passiert folgendes:

Code: Alles auswählen

>>> Wert = 1
>>> print "%s" % (Wert)
1
>>> Wert = 1,1
>>> print "%s" % (Wert)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: not all arguments converted
Holzauge sei wachsam!

Chris