This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author skrah
Recipients eric.smith, mark.dickinson, skrah
Date 2009-09-09.21:06:24
SpamBayes Score 1.1660426e-08
Marked as misclassified No
Message-id <1252530386.92.0.937372192715.issue6871@psf.upfronthosting.co.za>
In-reply-to
Content
Issue 1:

I would definitely keep the spelling in decimal, my concern was only the
padding.

The C standard agrees with Mark's view:

"Leading zeros (following any indication of sign or base) are used to
pad to the field width rather than performing space padding, except when
converting an infinity or NaN."

If this could be agreed on, issue 1 should be handled by changing float
and decimal 2.6.


Issue 2:

I can't find it quickly in the C standard, but gcc warns in this situation:

   warning: repeated '0' flag in format

This would support the behavior of decimal and float should be changed.


I would like to add two new issues.

Issue 3:

Regarding padding, the C standard further says:

"If the 0 and - flags both appear, the 0 flag is ignored"

This is quite sensible, since signless 0 padding looks a bit awkward.
(But this is a minor issue). 


Issue 4:

>>> format(Decimal('1e88'), '0<20')
'1E+88000000000000000'

>>> format(float('1e88'), '0<20')
'0000000000000001e+88'

I think right-padding with digits is dangerous, since it changes the
numerical value. I'm not sure what float does, it doesn't look correct
(but protects the user).
History
Date User Action Args
2009-09-09 21:06:26skrahsetrecipients: + skrah, mark.dickinson, eric.smith
2009-09-09 21:06:26skrahsetmessageid: <1252530386.92.0.937372192715.issue6871@psf.upfronthosting.co.za>
2009-09-09 21:06:24skrahlinkissue6871 messages
2009-09-09 21:06:24skrahcreate