Guido van Rossum wrote: > On Jan 27, 2008 9:26 AM, Andrea Griffini <[EMAIL PROTECTED]> wrote: >> Anyway I want just to say that if "implicit" conversion from float >> to integer goes away then what happens to formatting conversion ? >> Removing that too IMO would break a lot of code and it's IMO very >> difficult to help fixing that. > > The formatting code could assign specific meanings. I suspect though > that it was never meant to be possible to use %d with a float -- it > just is one of the artifacts of using implicit conversion, and one not > well-thought through. Note: > >>>> "%.0f" % 3.9999999999 > '4' >>>> "%d" % 3.9999999999 > '3' > > I think the latter is wrong and confusing.
format() has the same issue, for the same reason: >>> format(3.9, 'f') '3.900000' >>> format(3.9, 'd') '3' I never noticed this before, and it's a definite error. PEP 3101 says the valid types for float are 'eEfFgGn%' and an empty string. I'll remove the integer conversion in the float formatter. Eric. _______________________________________________ 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