python 3.44 float addition bug?

Maciej Dziardziel fiedzia at gmail.com
Wed Jun 25 17:12:31 EDT 2014


On Saturday, June 21, 2014 1:57:19 AM UTC+1, FraserL wrote:
> I'm not hugely accustomed to Python, but this seems crazy to me.

Floating points values use finite amount of memory, and  cannot accurately represent infinite amount of numbers, they are only approximations. This is limitation of float type and applies to any languages that uses types supported directly by cpu.
To deal with it you can either use decimal.Decimal type that operates using decimal system and saves you from such surprises (but it will be much slower and incompatible with c code that doesn't handle decimals or converts them to floats) or use epsilon for every comparison and rounding/formatting with limited   precision for displaying.

Few more details are here: http://floating-point-gui.de/errors/comparison/



More information about the Python-list mailing list