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
float(some_variable)/100

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
division":

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

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

>>> 180//100
1

--
Gabriel Genellina

```