To format numbers as a specific currency, you can use the Python locale module. For example, you can create a dollar format in Python in the following way with the locale module. If you want to add commas to the currency format with the locale module, pass 'grouping=True' to currency().
A format of . 2f (note the f ) means to display the number with two digits after the decimal point. So the number 1 would display as 1.00 and the number 1.5555 would display as 1.56 .
They are used for formatting strings. %s acts a placeholder for a string while %d acts as a placeholder for a number. Their associated values are passed in via a tuple using the % operator.
See the locale module.
This does currency (and date) formatting.
>>> import locale
>>> locale.setlocale( locale.LC_ALL, '' )
'English_United States.1252'
>>> locale.currency( 188518982.18 )
'$188518982.18'
>>> locale.currency( 188518982.18, grouping=True )
'$188,518,982.18'
>>> '{:20,.2f}'.format(18446744073709551616.0)
'18,446,744,073,709,551,616.00'
http://docs.python.org/dev/whatsnew/2.7.html#pep-0378
Not quite sure why it's not mentioned more online (or on this thread), but the Babel package (and Django utilities) from the Edgewall guys is awesome for currency formatting (and lots of other i18n tasks). It's nice because it doesn't suffer from the need to do everything globally like the core Python locale module.
The example the OP gave would simply be:
>>> import babel.numbers
>>> import decimal
>>> babel.numbers.format_currency( decimal.Decimal( "188518982.18" ), "GBP" )
£188,518,982.18
This is an ancient post, but I just implemented the following solution which:
Code:
num1 = 4153.53
num2 = -23159.398598
print 'This: ${:0,.0f} and this: ${:0,.2f}'.format(num1, num2).replace('$-','-$')
Output:
This: $4,154 and this: -$23,159.40
And for the original poster, obviously, just switch $
for £
"{:0,.2f}".format(float(your_numeric_value))
in Python 3 does the job; it gives out something like one of the following lines:
10,938.29
10,899.00
10,898.99
2,328.99
My locale settings seemed incomplete, so I had too look beyond this SO answer and found:
http://docs.python.org/library/decimal.html#recipes
OS-independent
Just wanted to share here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With