Raymond Hettinger wrote: >> The idea is to make numbering formatting a little easier with >> the new format() builtin: >> http://docs.python.org/library/string.html#formatspec [...] > Scanning the web, I've found that thousands separators are > usually one of COMMA, PERIOD, SPACE, or UNDERSCORE. The > COMMA is used when a PERIOD is the decimal separator. > > James Knight observed that Indian/Pakistani numbering systems > group by hundreds. Ben Finney noted that Chinese group by > ten-thousands.
IIRC, some cultures use a non-uniform grouping, like e.g. "123 456 78.9". For that, there is also a grouping reserved in the locale (at least in those of C++ IOStreams, that is). Further, an that seems to also be one of your concerns, there are different ways to represent negative numbers like e.g. "(123)" or "-456". > Make both the thousands separator and decimal separator user > specifiable but not locale aware. For simplicity, limit the > choices to a comma, period, space, or underscore. > > [[fill]align][sign][#][0][minimumwidth][T[tsep]][dsep precision][type] > > Examples: > > format(1234, "8.1f") --> ' 1234.0' > format(1234, "8,1f") --> ' 1234,0' > format(1234, "8T.,1f") --> ' 1.234,0' > format(1234, "8T .f") --> ' 1 234,0' > format(1234, "8d") --> ' 1234' > format(1234, "8T,d") --> ' 1,234' How about this? format(1234, "8.1", tsep=",") --> ' 1,234.0' format(1234, "8.1", tsep=".", dsep=",") --> ' 1.234,0' format(123456, tsep=" ", grouping=(3, 2,)) --> '1 234 56' IOW, why not explicitly say what you want using keyword arguments with defaults instead of inventing an IMHO cryptic, read-only mini-language? Seriously, the problem I see with this proposal is that its aim to be as short as possible actually makes the resulting format specifications unreadable. Could you even guess what "8T.,1f" should mean if you had not written this? > This proposal meets mosts needs (except for people wanting > grouping for hundreds or ten-thousands), but iIt comes at the > expense of being a little more complicated to learn and > remember. Too expensive for my taste. Uli -- Sator Laser GmbH Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932 -- http://mail.python.org/mailman/listinfo/python-list