Nathan wrote:
This is: Microsoft® Access® for Microsoft 365 MSO (Version 2202 Build 16.0.14931.20652) 64-bit
How is this possible? I do not know of a way to apply 'Round' to the sum at the bottom of an Access column.
I do not know anything about MS Access. But I would be surprised if there is not some way to cause Access to round the sum (any calculation), because this is a very common problem.
I will post a request to the moderators to move just your inquiry and my response to that sub-category.
If you do not see that happen within 48 hours, I suggest that you repost just this part of your inquiry to the Access sub-category of this forum.
Is there a fault with the Intel processor (ala the old x86 math coprocessors that had an error in their internal tables.) or is there a bug in the Access program?
Neither. As I explained earlier in this thread (*), this is a natural and common side-effect of choosing to use 64-bit binary floating-point (type Double) internally to represent decimal values.
To reiterate, the problem arises because:
- Most decimal fraction cannot be represented exactly. They must be approximated.
- The binary approximation of a particular decimal fraction might vary depending on the magnitude of the value. That is why, for example, 10.01 - 10 = 0.01 returns FALSE(!).
I intend to post more details in response to Guitar96's latest follow-up (*). Take a look at that after I post it.
(*) Referring to the original thread (click here). See all of my related responses there.
When I filter for 0.33 -or- 0.83 I get two decimal places. When I filter for both 0.33 -AND- 0.83, I get a sum of 33.4499999999999 (consistently, it's not randomly alternating with 33.45 (the correct sum)).
Yes, it does "alternate".
Looks can be deceiving if Access formats only up to 15 significant digits, as Excel does.
The sum of 41 instances of 0.33 might look like 13.5300000000000, but in fact there is a hidden residual of about 2.84E-14, an infinitesimal number. (Read: 2.84 times 10 to the -14 power, or 1 divided by 2.84 times 10 to the 14 power.)
Likewise, the sum of 24 instances of 0.83 might look like 19.9200000000000, but there is a hidden residual of about 2.84E-14 (by coindence).
As for the combined list of 0.33s and 0.83s that sum to 33.45, the result depends on their order.
In 40,000 random orders, I found what appears to be 33.4500000000000 about 5.9% of the time. The remainder appear to be 33.4499999999999.
But in fact, none (so far) is exactly 33.45.
What appears to be 33.4500000000000 has a hidden residual of about -4.97E-14 or -3.55E-14 (once!).
And what appears to be 33.4499999999999 has a hidden residual of about 2.84E-14, 3.55E-14 or 4.26E-14.