Excel stores values as a double precision floating point numbers, so many times what you type in to Excel isn't precisely storable as a floating point.
http://blogs.office.com/2008/04/10/understanding-floating-point-precision-aka-why-does-excel-give-me-seemingly-wrong-answers/
If you really want to see how Excel is storing your values you can change the .xlsx extension to .zip, open it up, and peek around in the files. This is all of the information stored on your cell:
<sheetData>
<row r="1" spans="1:1" x14ac:dyDescent="0.3">
<c r="A1">
<v>9.9499999999999993</v>
</c>
</row>
</sheetData>
Excel could be designed to store the exact values you type in (by storing them as decimal instead of float) but arithmatic operations would be a lot slower since all calculations would be done in software rather than in hardware.