>>> import locale >>> locale.setlocale(locale.LC_ALL, 'English_United States.1252') 'English_United States.1252' >>> conv = locale.localeconv() >>> x = 1234567.8 >>> locale.format("%d", x, grouping=True) '1,234,567' >>> locale.format("%s%.*f", (conv['currency_symbol'], conv['int_frac_digits'], >>> x), grouping=True) '$1,234,567.80'
Hi Richards, This works for me. I agree it's a bit complicated compared to C# but it works. I'd put it in a function if I had to use it. Richard Kessler wrote: > I am relatively new to Python. Love it, but I find things that I can do > easily in .NET and cannot find a way to do in Python. I need to format a > number as currency, for example 12343.56 to $12,343.56. > > In C# all I need to do is decimal x = 12343.56 then x.ToString("$###,###.00"); > > I cannot find a way to do this in Python. I must be missing something very > simple here. I have tried the locale module but it will not put in the commas. > I hope I do not have to write my own formatting routine...surely one is out > there and I just can't find it. > > Running on XP Pro. Python 2.4.3. > > Thanks much in advance, > > Richard -- http://mail.python.org/mailman/listinfo/python-list