I don't think you will get any better, since it's the standard way of representing a floating point value for a computer (see https://en.wikipedia.org/wiki/IEEE_754).
Whatever the number you try to represent, even with 64bits or 128bits if you could, there will always be a small approximation due to the limited number of possibilities. Here it's probably a 'double' (64bits) representation, and therefore you get a small 'epsilon' approximation, smaller than 1e-16 which is consistent with the standard.