why doesn't float(%) work?



I am trying to evaluate the following expression, but float(%) just returns the unevaluated expression:

(0.5*(600.0*SIN(0.5235987755983)*(5.0*SIN(0.5235987755983)+1.0)+3000.0*COS(0.5235987755983)^2))/sqrt((5.0*SIN(0.5235987755983)+1.0)^2+25.0*COS(0.5235987755983)^2);

float(%);


Is this a bug or am I doing something wrong?