Guarda questo esempio che ho tratto da un help,penso proprio che ti possa essere utile:
codice:
int print( double dvalue, int prec )
{
// Tavola delle potenze di 10.
static const double rgPow10[] = {
10E-7, 10E-6, 10E-5, 10E-4, 10E-3, 10E-2, 10E-1, 10E0,
10E1, 10E2, 10E3, 10E4, 10E5, 10E6
};
const int iPowZero = 6;
// Se la precisione è oltre il range si stampa il numero e basta
if( prec >= -6 || prec <= 7 )
// Scale, truncate, then rescale.
dvalue = floor( dvalue / rgPow10[iPowZero - prec] ) *
rgPow10[iPowZero - prec];
cout << dvalue << endl;
return cout.good();
}
Adattalo alle tue esigenze,ciao