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

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Gotch@
User
Beiträge: 5
Registriert: Mittwoch 5. November 2003, 10:37
Kontaktdaten:

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
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

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
Gast

Ich benötigte dies lediglich für die Darstellung.
Hat geklappt! (mit "%.2f" % (Wert))
Danke! :-)
Benutzeravatar
strogon14
User
Beiträge: 58
Registriert: Sonntag 23. Februar 2003, 19:34
Wohnort: Köln
Kontaktdaten:

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
Antworten