floating point arithmetic

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Wed Aug 27 06:49:11 CEST 2008

En Tue, 26 Aug 2008 18:11:30 -0300, fred8865 <xtd8865 at gmail.com> escribi�:

> I understand that due to different arithmetic used in floating points
> they are just approximations. Hence, 180/100=1 in my python interpreter.
> How can I tackle this problem of inaccurate floating point numbers?
> thank you

In the current Python versions (2.2 and up), 180/100 means integer  
division (because both operands are integer).
If you want a floating point result, use 180.0/100 or  

Starting with Python 3.0, the / operator will return a floating point  
result ("true division"). So in that Python version, 180/100 gives 1.8
To enable that behavior on Python 2.x, execute "from __future__ import  

>>> 180/100
>>> from __future__ import division
>>> 180/100

In any Python version, 180//100 always means integer division:

>>> 180//100

Gabriel Genellina

More information about the Python-list mailing list