Talk:Data types/@comment-66.131.50.117-20150315135131/@comment-5334617-20150315154844

You are doing nothing wrong. When the calculation  is performed, the result is stored internally as 12873/4096, or 3.142822265625. Obviously, this is not what you want to see, so when a number is transformed into a string (by STR$, or by PRINT), only three decimal places are shown. In other words, what is shown by PRINT is not exactly the same as the number as it is represented internally in the system.

Try  and you will get. Try  and the result is   (FALSE).