Simple question
Zachary Ware
zachary.ware+pylist at gmail.com
Tue Apr 15 14:25:41 EDT 2014
On Tue, Apr 15, 2014 at 1:18 PM, Phil Dobbin <phildobbin at gmail.com> wrote:
> Hi, all.
>
> I've just started to learn Python (I'm reading Mark Lutz's 'Learning
> Python' from O'Reilly) & I'm confused as to this part:
>
> '>>> 0.1 + 0.1 + 0.1 - 0.3
> 5.55111.....'
>
> Using 'import Decimal' you can get a much closer result i.e.
> 'Decimal('0.0')'
>
> What I'm wondering is why the first calculation that arrives at
> '5.55111...' is so far out?
First, note that the "..." part of "5.55111..." is very important
here, it's actually "5.55111...e-17" which means it's really
approximately 0.000000000000000055111, which is really very close to
the answer you'd expect from a human. To learn more about why Python
doesn't give 0.0, read this:
https://docs.python.org/3/tutorial/floatingpoint.html
Hope this helps,
--
Zach
More information about the Python-list
mailing list