2009-08-05 18 views
10

Voglio emettere il valore di un doppio nella sua piena precisione. Tuttavia, quando si utilizza la funzione cout, visualizza solo le prime 6 cifre anche se vi sono circa 15-16 cifre di precisione.Come posso visualizzare più decimali nella console di uscita?

Come si ottiene che il programma visualizzi l'intero valore, incluso il componente di magnitudine (alimentazione)?

risposta

8

si potrebbe usare qualcosa di simile:

#include <iomanip> 

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

più iomanipulators, here

+0

cosa succede se si voleva che fosse completamente precisi. ma ovviamente gira il numero come 7.3333333 per dire 7.33 –

+0

Non è equivalente al formato% g di printf. E quel formato non ti dà quello che danno alcuni altri linguaggi: la stringa più breve che legge il numero originale. – AProgrammer

7

Siete alla ricerca di setprecision (codice preso dal link):

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

Nel caso in cui ti sia mancato di seguito, puoi anche usare lo io-manipolatore scientifico per forzare la notazione scientifica se lo desideri. – Amber

Problemi correlati