> KEEPFLOAT: true;
> solve(x+1.5=0,x);
> in Maxima 5.9.0 gives
> RAT replaced 1.5 by 3//2 = 1.5
> 3
> [x = - -]
> 2
>
> Why doesn't KEEPFLOAT:true keep floating point numbers from
> being converted to rational numbers?
This is a bug. Please report it in the sourceforge bug list
(https://sourceforge.net/tracker/?group_id=4933&atid=104933). It is
also a documentation bug that describe("solve") doesn't mention the fact
that it converts to rationals.
By the way, there is a more subtle issue here. Consider floating-point
*exponents*, e.g. x^2.01-1=0. Solve currently converts that to
x^(201/100)-1=0 and returns 100 solutions (slowly). But this doesn't
make sense if you consider 2.01 to be an *approximate* number, which may
represent, say, 201/100+2^-100....
Anyway, as far as I know, there is no workaround, except of course to
convert the result to floating point.