Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #70278

Re: Simple question

References <534D7807.6050408@gmail.com>
From Zachary Ware <zachary.ware+pylist@gmail.com>
Date 2014-04-15 13:25 -0500
Subject Re: Simple question
Newsgroups comp.lang.python
Message-ID <mailman.9284.1397586370.18130.python-list@python.org> (permalink)

Show all headers | View raw


On Tue, Apr 15, 2014 at 1:18 PM, Phil Dobbin <phildobbin@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

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: Simple question Zachary Ware <zachary.ware+pylist@gmail.com> - 2014-04-15 13:25 -0500

csiph-web