Seite 1 von 1

zahl formatieren...

Verfasst: Donnerstag 17. März 2005, 16:45
von jens
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 )

Verfasst: Donnerstag 17. März 2005, 17:29
von mawe
Hi!

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

Gruß, mawe

Verfasst: Donnerstag 17. März 2005, 22:51
von 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'