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;
}