Since floating point numbers are represented internally as numbers by the base of two there isn't a way to represent 0.001 exactly. There will always be rounding errors. This isn't a problem of Lisp but of floating point arithmetic in general. The only way around it is to print it rounded: