zahl formatieren...

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
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Wie Wandel ich eine beliebige Zahl zu einem String mit zwei Stellen hinter dem Komma (statt Punkt) um?

(Um halt EURO Werte richtig Anzeigen zu lassen)

Mein Schnellschuß:

Code: Alles auswählen

def format_number( value ):
    return ( "%1.2f" % value ).replace( ".", "," )

testwerte = ( 0, 1, 10.3, 11.55, 0.986 )

for i in testwerte:
    print i,"->", format_number( i )

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

Na funktioniert doch eh! Aber was genau ist der Unterschied zwischen "%1.2f" und "%.2f"?

Gruß, mawe
BlackJack

Wenn Du auch noch 1000er Punkte haben möchtest, dann schau Dir mal 'locale.format()' an. Entweder als Funktion oder den Quelltext.

Code: Alles auswählen

In [118]: locale.setlocale(locale.LC_ALL, 'de_DE.utf-8')
Out[118]: 'de_DE.utf-8'

In [119]: locale.format("%.2f", 9999999.59, True)
Out[119]: '9.999.999,59'
Antworten