[issue28717] rounding error in % operator
Mark Dickinson
report at bugs.python.org
Wed Nov 16 16:37:10 EST 2016
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 <report at bugs.python.org>
<http://bugs.python.org/issue28717>
_______________________________________
More information about the Python-bugs-list
mailing list