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.
Gotch@
User
Beiträge: 5
Registriert: Mittwoch 5. November 2003, 10:37
Kontaktdaten:

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

Beitragvon Gotch@ » Dienstag 25. November 2003, 10:40

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

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

Beitragvon Voges » Dienstag 25. November 2003, 11:32

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

Beitragvon Gast » Dienstag 25. November 2003, 11:56

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:

Syntax des Format-Operators

Beitragvon strogon14 » Dienstag 25. November 2003, 16:52

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

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], kbr