josh logan wrote:
Hello,

I need a round function that _always_ rounds to the higher integer if
the argument is equidistant between two integers. In Python 3.0, this
is not the advertised behavior of the built-in function round() as
seen below:

round(0.5)
0
round(1.5)
2
round(2.5)
2


Huh?

>>> round(2.5)
3.0


Works for me on Python 2.5 on Linux running on "Intel(R) Core(TM)2 Duo CPU". What system are you on?


It could be that 2.5 is really 2.49999... which would round down to 2, but on any modern CPU (using IEEE floating point), 2.5 should be representable exactly.

However, as with any floating point calculations, if you expect exact representation or calculations with any numbers, then you are misusing floating points.
Gary Herron

I would think this is a common need, but I cannot find a function in
the Python library to do it. I wrote my own, but did I miss such a
method in my search of the Python library?

Thanks
--
http://mail.python.org/mailman/listinfo/python-list

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to