Velocity Reviews > subtraction of floating point numbers

# subtraction of floating point numbers

Jaroslav Dobrek
Guest
Posts: n/a

 02-24-2012
Hello,

when I have Python subtract floating point numbers it yields weird
results. Example:

4822.40 - 4785.52 = 36.8799999999992

Why doesn't Python simply yield the correct result? It doesn't have a
problem with this:

482240 - 478552 = 3688

Can I tell Python in some way to do this differently?

Jaroslav

Alain Ketterlin
Guest
Posts: n/a

 02-24-2012
Jaroslav Dobrek <(E-Mail Removed)> writes:

> when I have Python subtract floating point numbers it yields weird
> results. Example:
>
> 4822.40 - 4785.52 = 36.8799999999992

We've had this discussion here one or two days ago...

The usual answer is: please read "What Every Computer Scientist Should
Know About Floating Point Arithmetic", at:

http://citeseerx.ist.psu.edu/viewdoc...10.1.1.22.6768

and check the answers posted these last days. In brief: you're working
with floating point numbers, not reals (i.e., real "reals"). That's
life. Deal with it, or move to specialized packages, like decimal.

-- Alain.

Chris Rebert
Guest
Posts: n/a

 02-24-2012
On Fri, Feb 24, 2012 at 12:41 AM, Jaroslav Dobrek
<(E-Mail Removed)> wrote:
> Hello,
>
> when I have Python subtract floating point numbers it yields weird
> results. Example:
>
> 4822.40 - 4785.52 = 36.8799999999992
>
> Why doesn't Python simply yield the correct result? It doesn't have a
> problem with this:
>
> 482240 - 478552 = 3688
>
> Can I tell Python in some way to do this differently?

Refer to this thread from 2 days ago:
http://mail.python.org/pipermail/pyt...y/1288344.html

Regards,
Chris