On 11/18/21 19:40, 2qdxy4rzwzuui...@potatochowder.com wrote:
On 2021-11-18 at 23:16:32 -0300,
René Silva Valdés <rene.silva.val...@gmail.com> wrote:

Hello, I would like to report the following issue:

Working with floats i noticed that:

int(23.99999999999999/12) returns 1, and
int(23.999999999999999/12) returns 2

This implies that int() function is rounding ...

It's not int() that's doing the rounding; that second numerator is being
rounded before being divided by 12:

     Python 3.9.7 (default, Oct 10 2021, 15:13:22)
     [GCC 11.1.0] on linux
     Type "help", "copyright", "credits" or "license" for more information.
     >>> 23.999999999999999
     24.0
     >>> (23.999999999999999).hex()
     '0x1.8000000000000p+4'


The documentation has a fair bit to say on the subject of floating point. I never remember the precise link, but fortunately it's pretty easy to search for:

https://docs.python.org/3/tutorial/floatingpoint.html

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

Reply via email to