[Q] How to get a float in this case?



If you have an expression containing only numbers, the best way to put
it in the form a+b*%i is rectform (rectangular form).  Expand etc.
only happen to work in this case because of the form of the
expression.  It is entirely luck that integrate(...),numer gives you a
result in that form in this case.

It has been proposd that complex numbers become full-fledged Maxima
numbers, so operations on them are always carried through.  That is
certainly possible, but to be consistent about it, we'd also have to
support rational and bfloat complex numbers.  And then, what if the
user prefers to work with the polar form?  That is more intuitive in
many cases.   How would you prevent Maxima from 'simplifying' 3.4 *
exp(%i*1.0e-6) to 3.4e-6*%i+3.4?

          -s