[As I have very little experience on money.SE, I welcome feedback about the following question, in addition to any answers of course.]
The balance on a loan or deposit is always reported as an integer multiple of $0.01. Typically, at any given point, the interest rate multiplied by the balance will include fractional pennies, so the actual interest paid must be rounded off to the nearest penny. I assume that subsequent interest payments are on the reported balance. But if this is so, then the famous formula A = P(1+i)^n (where A is the present value, P is the principal, i = annual nominal interest rate divided by number of compounding periods per year, and n = total number of compounding periods elapsed) is potentially off by some rounding error. For example:
Suppose I borrow $1000 at a 15.99% interest rate compounded monthly. Now 15.99% divided by 12 is 1.3325%, and 1.3325% of $1000 is $13.325, so (I presume - please correct me!) $13.33 is added to the balance, and the new balance is $1013.33. Then the formula A = P(1+i)^n (with P=1000, i=0.013325, and n=1) is off by half a penny.
Now evidently as long as n is small, the error is very small. And it seems plausible to me that usually the error will stay small even for large n because there's no (obvious to me, anyway) systematic reason for the rounding error to always go in the same direction (up or down), thus perhaps the errors will tend to cancel out. But it seems at least plausible to me that there might be some specific values of the principal and the rate such that the error is usually in the same direction for some significant stretch of values of n, and then at the end of this stretch, the formula might be off by a substantive amount.
Is there a systematic reason why this error can't accumulate as n grows? Or is it just that even if it accumulated it would remain small in comparison with the balance, and therefore it can be ignored in the types of situations in which the formula A=P(1+i)^n is used? Or, am I thinking about this completely wrong somehow and the error is illusory?