As AWOL indicated, the stdlib (i think it is stdlib) linked in by Arduino does not support floats in the sprintf.
One way around this would be to tinker with Arduino IDE to include the full/extended stdlib to get the float working in sprintf.
Another way is to convert the float using :
dtostrf(floatVar, minStringWidthIncDecimalPoint, numVarsAfterDecimal, charBuf);
Example :
void setup() {
Serial.begin(19200);
}
void loop() {
float F = 1.25;
char buffer[16];
dtostrf(F,5,2,buffer);
Serial.print("Float : ");
Serial.println(buffer);
//Do not loop
while(true) {};
}