Solving 3rd order equation by solve.



Hi.

I have a question about solving 3rd order equation by solve.

Executing
	solution: solve(x^3-x^2+1=0, x), rectform;
results
	[x=(1/(2*3^(3/2)*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3))-(sqrt(3)*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3))/2)*%i+(25/54-sqrt(23)/(2*3^(3/2)))^(1/3)/2+1/(18*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3))+1/3,
	x=-(25/54-sqrt(23)/(2*3^(3/2)))^(1/3)-1/(9*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3))+1/3,
	x=((sqrt(3)*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3))/2-1/(2*3^(3/2)*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3)))*%i+(25/54-sqrt(23)/(2*3^(3/2)))^(1/3)/2+1/(18*(25/54-sqrt(23)/(2*3^(3/2)))^(1/3))+1/3].

The second one in solution is a real root.
To know the concrete value, executing
	solution, float;
results
	[x=0.744861766619749*%i+.8774388331233485,x=-.7548776662466969,x=.8774388331233485-0.744861766619749*%i].

I want to get this result by single command.
But executing
	solution: solve(x^3-x^2+1=0, x), rectform, float;
results
	[x=.7448617666197254*%i+.8774388331233376,x=-8.480870326997723*10^-17*%i-.7548776662466756,x=.8774388331233378-
.7448617666197253*%i].

The second one includes a very small imaginary part.

How can I avoid it?
# I tried realroots and knew it gives me a value. But I want to know how to use solve command.

My environment is,
	Mac OS X 10.8.2
	maxima 5.28.0 from http://sourceforge.net/projects/maxima/files/

Thanks,
-
ICHIKAWA, Yuji