Forum Discussion
Excel giving incorrect answer to simple multiplication
HelloBrettDes,
This behavior is caused by Excel’s use of binary floating-point arithmetic, not a calculation bug. Excel stores numbers using the IEEE 754 standard, and many decimal fractions like 0.01 cannot be represented exactly in binary. Each time you multiply by 2, the tiny approximation error doubles. By day 49–51, this accumulated error affects the last cent, which is why you see .20 instead of .24 and .50 instead of .48. Formatting as Currency only changes the display, not the stored value. Microsoft documents this here: https://learn.microsoft.com/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result. To avoid this, either work in whole integers (e.g., cents) and convert to dollars for display or round at each step using =ROUND(A1*2,2). Either approach prevents cumulative rounding errors.
Excel uses double precision floating point calculations (numbers from 10^-308 to 10^308) with 15-17 decimal digits precision to show result of calculation.
With A2 formula =A1*2, etc. Excel doesn't take result from previous cell, it builds calculation chain. Result of calculation in each row is exactly the same as we use formula like =$A$1*2^(ROW()-1). Practically no cumulative error. Another story in each cell Excel shows 15 significant digits using first 17 for rounding to them.
With using =ROUND(2*A1,2) starting from some point we collect an error and result will be less accurate compare to previous formulae.
We may check above using any more or less modern scientific calculator