2009-08-05 15 views
10

Quiero dar como resultado el valor de un doble en su total precisión. Sin embargo, cuando se utiliza la función cout, solo muestra los primeros 6 dígitos, aunque hay alrededor de 15-16 dígitos de precisión.¿Cómo puedo mostrar más decimales en la consola de salida?

¿Cómo hago que mi programa muestre todo el valor, incluido el componente de magnitud (potencia)?

Respuesta

8

podría utilizar algo como esto:

#include <iomanip> 

cout << setprecision (9) << double_value << endl; 

más iomanipulators, here

+0

lo que si usted quiere que sea totalmente precisa. pero obviamente gire el número como 7.3333333 a digamos 7.33 –

+0

No es equivalente al formato% g de printf. Y ese formato no le proporciona lo que ofrecen otros idiomas: la cadena más corta que vuelve al número original. – AProgrammer

7

Usted está buscando setprecision (código tomado de enlace):

int main() { 
    double f =3.14159; 
    cout << setprecision(15) << f << endl; 
    return 0; 
} 
+1

Solo en caso de que no lo haya visto abajo, también puede usar el io-manipulador científico para forzar la notación científica si lo desea. – Amber

Cuestiones relacionadas