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

subtraction of floating point numbers

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