Mark Dickinson added the comment:

You don't say why you think this behaviour is wrong, or what you'd expect to 
see instead.

Nevertheless, this behaviour is by design: the code `'%.1f' % x` rounds `x` to 
the nearest one-digit-after-the-point decimal number, and returns a string 
representation of that number. In the case `x=0.25`, there is no single nearest 
number: `0.2` and `0.3` are equally close to `0.25`, so a choice between the 
two has to be made. In keeping with many other languages, Python chooses the 
value with even last digit. (The original behaviour is inherited from the 
typical behaviour of the standard library strtod or dtoa functions in C.)

----------
nosy: +mark.dickinson
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue28717>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to