[EMAIL PROTECTED] schreef: > Steve Holden wrote: >> You obviously haven't yet passed your floating-point number proficiency >> test yet. Please restrict yourself to integers until you understand the >> difficulties that inaccuracies in floating-point can create ;-) > > hm, actually, i understand the limitation of floating point. > but my real concern is, how come "print" favors one version over the > other... > the first version will favor the correct rounding, while the second > doesn't favor it. to me, this is biased computing.... i will feel > happier if the behavior is consistent. (such as the first line > printing out as 1.2344999999999) . if most people favor the behavior > of line 1, that is, silently rounding off to about the 11th decimal > places, then why doesn't printing with formatting also use that same > behavior, which is rounding off to the 11th places first, and then > round off to whatever the user wants. > >>>>> print 1.2345 > >> 1.2345 > >>>>> print "%10.3f" % 1.2345 > >> 1.234 > > but then again, i just realize even if i do a > >>>> round(1.2344999999999999999, 6) > > 1.2344999999999999 > > so even if you round it off, it is still represented the same way.... > still, how "print" handles 1.2345 and treating it and printing it as > 1.2345, i wonder why we don't make the "print with formatting" the same > behavior, treating it as 1.2345 first and round it off to 1.235
You do realize that your formatting uses less decimal places than the print statement, do you? >>> print 1.2345 1.2345 >>> print "%0.3f" % 1.2345 1.234 >>> print "%0.4f" % 1.2345 1.2345 If you use 4 decimals after the decimal sign, you get the same result as with a plain print statement (at least in this case). That means that print is not treating it as 1.2345 first and then rounding it off to 1.235; it is just using the actual internal representation and rounding it off to 1.2345. Which IMO is the only sensible thing one can do. -- If I have been able to see further, it was only because I stood on the shoulders of giants. -- Isaac Newton Roel Schroeven -- http://mail.python.org/mailman/listinfo/python-list