Issue 31435: Addition giving incorrect result in certain circumstances (original) (raw)

Issue31435

Created on 2017-09-12 19:56 by Aodhán Collins, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
pythonbug.txt Aodhán Collins,2017-09-12 19:56 Calculation Tests
Messages (3)
msg301991 - (view) Author: Aodhán Collins (Aodhán Collins) Date: 2017-09-12 19:56
Basic addition is dropping a tiny fraction when adding together certain numbers. We have discovered that when adding together the numbers 8.95 and 0.95 we get an incorrect answer, that is off by a tiny fraction. This doesn't occur when adding 7.95 and 0.95 but occurs for 8.95 and above. We have attached a file showing our calculations failing on Python 2.7 (on both a Mac and Linux system) and 3.5 (on a Linux system).
msg301992 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2017-09-12 20:17
Pythons has binary floating point, which does not give the same results as a pocket calculator. You can see the differences by using the decimal module: # These are the binary floats in exact decimal representation. >>> Decimal(7.95) Decimal('7.95000000000000017763568394002504646778106689453125') >>> Decimal(8.95) Decimal('8.949999999999999289457264239899814128875732421875') # This is exact decimal arithmetic. >>> Decimal("8.95") + Decimal("0.95") Decimal('9.90')
msg301993 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2017-09-12 20:18
https://docs.python.org/3/tutorial/floatingpoint.html
History
Date User Action Args
2022-04-11 14:58:52 admin set github: 75616
2017-09-12 20🔞08 r.david.murray set nosy: + r.david.murraymessages: +
2017-09-12 20:17:03 skrah set status: open -> closednosy: + skrahmessages: + resolution: not a bugstage: resolved
2017-09-12 19:56:01 Aodhán Collins create