mirror of
https://github.com/python/cpython.git
synced 2025-07-24 03:35:53 +00:00
Remove the round() discussion which is now out-of-date.
This commit is contained in:
parent
ce95e5646b
commit
f0320c7ee6
1 changed files with 2 additions and 17 deletions
|
@ -108,23 +108,8 @@ reproduce *x*, but the output may be more pleasant to look at::
|
|||
It's important to realize that this is, in a real sense, an illusion: you're
|
||||
simply rounding the *display* of the true machine value.
|
||||
|
||||
Other surprises follow from this one. For example, after seeing ::
|
||||
|
||||
>>> format(0.1, '.17g')
|
||||
'0.10000000000000001'
|
||||
|
||||
you may be tempted to use the :func:`round` function to chop it back to the
|
||||
single digit you expect. But that makes no difference::
|
||||
|
||||
>>> format(round(0.1, 1), '.17g')
|
||||
'0.10000000000000001'
|
||||
|
||||
The problem is that the binary floating-point value stored for "0.1" was already
|
||||
the best possible binary approximation to 1/10, so trying to round it again
|
||||
can't make it better: it was already as good as it gets.
|
||||
|
||||
Another consequence is that since 0.1 is not exactly 1/10, summing ten values of
|
||||
0.1 may not yield exactly 1.0, either::
|
||||
One illusion may beget another. For example, since 0.1 is not exactly 1/10,
|
||||
summing ten values of 0.1 may not yield exactly 1.0, either::
|
||||
|
||||
>>> sum = 0.0
|
||||
>>> for i in range(10):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue