Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

subtraction of floating point numbers

7 views
Skip to first unread message

Jaroslav Dobrek

unread,
Feb 24, 2012, 3:41:21 AM2/24/12
to
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

unread,
Feb 24, 2012, 3:49:15 AM2/24/12
to
Jaroslav Dobrek <jarosla...@gmail.com> 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/summary?doi=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

unread,
Feb 24, 2012, 5:16:29 AM2/24/12
to Jaroslav Dobrek, pytho...@python.org
Refer to this thread from 2 days ago:
http://mail.python.org/pipermail/python-list/2012-February/1288344.html

Regards,
Chris
0 new messages