I float vengono memorizzati in binario, quello che chiedi è semmai di stamparli diversamente.
Prendi la parte intera e la memorizzi in un intero.Prendi la parte frazionaria e la memorizzi in un intero moltiplicandola per 10^ numero ci cifre significative che vuoi stampare.
Stampi i due interi separandoli da ",".
Esempio con 3 cifre dopo la virgola:
codice:
void print(float f)
{
float temp=f-static_cast<int>(f);
int pint,pf;
pint=static_cast<int>(f);
pf=static_cast<int>(temp*1000);
cout << pint << "," << pf << endl;
}