This problem is easily solved in object oriented languages.
For example in python you can create genuine decimal numbers
if you really want to (for financial calculations I presume).
They follow this standard
http://www2.hursley.ibm.com/decimal/decarith.html
It seems less clear how to do this cleanly within the maxima
language.
Michel
PS. To construct the decimal number 1.4 you use the constructor
Decimal("1.4"). Note the use of strings. Something like
Decimal(1.4) can not work since the number 1.4 would be converted
to binary before the constructor has a chance to look at it.