[New-bugs-announce] [issue7335] int/long discrepancy when formatting zero with ".0d"

Mark Dickinson report at bugs.python.org
Mon Nov 16 19:28:41 CET 2009


New submission from Mark Dickinson <dickinsm at gmail.com>:

In Python 2.x we have:

>>> "%.0d" % 0
''
>>> "%.0d" % 0L
'0'

In Python 3.x:

>>> "%.0d" % 0
'0'

I think the 2.x behaviour for int comes directly from C's sprintf 
behaviour:  section 7.19.6.1, p8 of the C99 standard says:

"The result of converting a zero value with a precision of zero is no 
characters."

I'm not sure which the more sensible behaviour is, but in 2.x, int and 
long should behave in the same way.  Fixing long to behave like int 
seems both simplest and least likely to break existing code.

----------
components: Interpreter Core
messages: 95356
nosy: eric.smith, mark.dickinson
priority: normal
severity: normal
status: open
title: int/long discrepancy when formatting zero with ".0d"
type: behavior
versions: Python 2.6, Python 2.7

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue7335>
_______________________________________


More information about the New-bugs-announce mailing list