can't print a float value???

At the moment, there's no real way to print a float. Including the system routine to do so adds a large amount of size to the Arduino core. It used to be that using floats at all meant that your sketch wouldn't fit on the chip. Now that floats fit, I imagine that the float printing routine would still take too much space. Although maybe now with lots of people using ATmega168's, it's worth investigating how to enable float printing.

May I ask why you need to print a float and why casting it (or multiplying by a 1000 or so and casting it) won't work?