[Python-ideas] Rough draft: Proposed format specifier for a thousands separator (discussion moved from python-dev)
Eric Smith
eric at trueblade.com
Fri Mar 13 12:35:44 CET 2009
Antoine Pitrou wrote:
> Greg Ewing <greg.ewing at ...> writes:
>> My point is that while it's perfectly reasonable
>> for, e.g. a French programmer to want to format his
>> numbers with dots and commas the other way around,
>> it's *not* reasonable to force him to tediously specify
>> it in each and every format specifier he writes.
>
> A program often formatting numbers the same way can factor that into dedicated
> helpers:
>
> def format_float(f):
> return "{0:T.,2f}".format(f)
>
> or even:
>
> format_float = "{0:T.,2f}".format
Or:
float_fmt = 'T.,2f'
then you can re-use it everywhere, and multiple times in a single
.format() expression:
'{0:{fmt}} {1:{fmt}}.format(3.14, 2.72, fmt=float_fmt)
(Try that with %-formatting! :-)
Or with a slight modification to the work I'm doing to implement
auto-numbering:
'{:{fmt}} {:{fmt}}'.format(3.14, 2.78, fmt=float_fmt)
(but this is a different issue!)
Eric.
More information about the Python-ideas
mailing list