Floating-point numbers have these problems because they are stored on a finite number of bits. This happens in Java, in C, in C#, in Javascript, etc...
Floating-point numbers cannot accurately...