Neal Becker wrote:
"format_spec ::=  [[fill]align][sign][#][0][width][.precision][type]"
"The precision is ignored for integer values."

In [36]: '%3x' % 10
Out[36]: '  a'

In [37]: '%.3x' % 10
Out[37]: '00a'

Apparently, precision is _not_ ignored?

Apparent typo reports should go to the tracker, along with version information. In this case, the Format Specification Mini-Language is for the new str.format() and format() facilities, not for % formatting, which is described in Old String Formatting Operations. Ironically, you report does point to a doc problem: precision is actually not allowed for integer types.

3.0.1
>> format(10, '3x')
'  a'
>>> format(10, '.3x')
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    format(10, '.3x')
ValueError: Precision not allowed in integer format specifier

>>> '{0:3x}'.format(10)
'  a'
>>> '{0:.3x}'.format(10)
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    '{0:.3x}'.format(10)
ValueError: Precision not allowed in integer format specifier

http://bugs.python.org/issue5963

Terry Jan Reedy

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to