You are confusing the number of digits stored, with the number of digits displayed.
MATLAB uses IEEE 754 binary double precision, which does not use Base 10 (decimal) representation.
Double Precision uses 53 bits -- representing each number as a 53 bit integer divided by a power of 2. It is not able to represent decimal fractions exactly, for the same mathematical reason that finite decimal is not able to represent 1/3 exactly .
MATLAB stores the 53 bits, but what it displays depends upon your format settings. The default format setting for most people always displays 4 digits for non-integers.