I was thinking there are any specific reason for this ??
Don't know, but there is an easy workaround:
float var = 12.345678;
void setup() {
Serial.begin(250000);
printfloat(var);
}
void loop() {
}
void printfloat(float v)
{
int32_t dec = (v - (int32_t)v) * 1000000; // depending on the number of decimal digits you want
printf("Float value is = %d.%d\n", (int32_t)v, dec);
}