Stefan Krah wrote: > Eric Smith <eric at trueblade.com> wrote: >> Stefan Krah wrote: >>> Hi, >>> >>> I think http://www.python.org/dev/peps/pep-3101/ is too liberal with the >>> choice of fill characters for numerical values. As far as I can see, this >>> is quite legal: >>> >>> >>> Python 2.7a0 (trunk:76132M, Nov 6 2009, 15:20:35) >>> [GCC 4.1.3 20080623 (prerelease) (Ubuntu 4.1.2-23ubuntu3)] on linux2 >>> Type "help", "copyright", "credits" or "license" for more information. >>>>> >from decimal import * >>>>>> format(Decimal(4), "9<10") >>> '4999999999' >>>>>> format(Decimal(4), "9>10") >>> '9999999994' >>>>>> format(Decimal(4), "->2") >>> '-4' >>> >>> >>> I propose to disallow digits and '+-' fill characters for numerical values, >>> except for the combination '0, left-padding'. Actually, I'd prefer to allow >>> only whitespace and '0, left-padding'. >> Why? >> >> What problem are you trying to prevent that would justify the extra code >> to implement this and the extra documentation to explain it? > > > I simply think that apart from rounding, the output of format should not > change the numerical value of its argument. The format functions in C do > not allow this to happen. Are there other languages where this is possible? I don't know if there are other languages that allow it. But I definitely have use cases for padding with '*', for example. I don't see the point in just disallowing numbers 1 through 9. If you don't want your numbers padded with 9's, don't put a 9 in your format string. Eric.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4