Josh Rosenberg added the comment: Python 3.2-3.4 (probably all of 3.x) use round half even, but testing 2.7.3 on Ubuntu confirms what you say. In terms of the decimal constants, Py2.7 round() appears to use decimal.ROUND_HALF_UP behavior while 3.x uses decimal.ROUND_HALF_EVEN behavior.
Looks like someone accidentally copied Py3 docs down to Py2; according to https://docs.python.org/3/whatsnew/3.0.html : >The round() function rounding strategy and return type have changed. Exact >halfway cases are now rounded to the nearest even result instead of away from >zero. (For example, round(2.5) now returns 2 rather than 3.) round(x[, n]) now >delegates to x.__round__([n]) instead of always returning a float. It >generally returns an integer when called with a single argument and a value of >the same type as x when called with two arguments. Looks like the behaviors never changed, but the docs for round in Py2 are incorrect. ---------- nosy: +josh.rosenberg _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue21179> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com