• Sábado 14 de Diciembre de 2024, 20:28

Autor Tema:  problema con ios_base::precision()  (Leído 1408 veces)

rompecabezas

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
problema con ios_base::precision()
« en: Lunes 1 de Febrero de 2010, 11:24 »
0
Hola

intento cambiar la precision de la cantidad guardada en <string miValor> a <int nCifras> cifras significativas

double val;
val = atof(miValor.c_str());
ostringstream conv;
conv.setf(ios::scientific,ios::floatfield); // notacion
conv.precision(nCifras);
conv<<val;
miValor= conv.str();

compila, y redondea, el problema es que me gustaria que al final del redondeo la notacion fuese la misma que anteriormente (llamemosle oldFlag), ma gustaria hacer algo asi:

if(oldFlag == fixed)
        conv.setf(ios::fixed,ios::floatfield);
else if(oldFlag == scientific)
        conv.setf(ios::scientific,ios::floatfield);

alguna genial idea para hacer esto?

gracias :)