Here is some disturbing behavior that caused me a lot of trouble and was difficult to track down.
In[1]:= 50.01 + 50.03
Out[1]= 100.04
In[2]:= 500.01 + 500.03
Out[2]= 1000.04
In[3]:= 5000.01 + 5000.03
Out[3]= 10000.
Really? Definitely don't use Mathematica for your accounting tasks. And it's not a case of the lost digits actually being there but hidden when printing. Let's try looking at 1000 digits just to be safe.
In[4]:= N[5000.01 + 5000.03, 1000]
Out[4]= 10000.
So we have to change the input precision, which is a problem I discovered long ago but have learned to live with to some extent. Although, sometimes it's easier to just use the Windows Calculator. I wish there was a way to make Mathematica extend the precision of all numbers automatically if you wanted to.
But how much precision do we need to get the right answer? You might think, ok, in the last line the inputs have 6 significant digits and the answer has 7. So we should just have to add one extra 0 on the inputs to give them 7 digits.
In[5]:= 5000.010 + 5000.030
Out[5]= 10000.
But no. Let's try adding a lot more.
In[6]:= 5000.01000000000000 + 5000.0300000000000
Out[6]= 10000.
Still not enough. We have to add a full 12 zeros on the end just to get the correct answer to 2 decimal places!
In[7]:= 5000.01000000000000 + 5000.03000000000000
Out[7]= 10000.0400000000000
I never liked the way Mathematica handled precision, and this makes me like it even less.