logo

Precisione impostata del manipolatore C++

Manipolatore C++ setprecision La funzione viene utilizzata per controllare il numero di cifre della visualizzazione del flusso di output di un valore a virgola mobile.

Questo manipolatore è dichiarato nel file header.

Sintassi

 /*unspecified*/ setprecision (int n); 

Parametro

N : nuovo valore per la precisione decimale.

myflixr

Valore di ritorno

Questa funzione restituisce un oggetto di tipo non specificato. La funzione setbase dovrebbe essere utilizzata solo come manipolatore di flusso.

Gare di dati

L'oggetto stream in cui è inserito o estratto viene modificato e l'accesso simultaneo allo stesso oggetto stream può introdurre gare di dati.

Eccezioni

L'oggetto è in uno stato valido, se viene generata un'eccezione.

javac non è riconosciuto

Esempio 1

Vediamo il semplice esempio per dimostrare l'uso di setprecision:

 #include // std::cout, std::fixed #include // std::setprecision using namespace std; int main () { double f =3.14159; cout << setprecision(5) << f << '
'; cout << setprecision(9) << f << '
'; cout << fixed; cout << setprecision(5) << f << '
'; cout << setprecision(9) << f << '
'; return 0; } 

Produzione:

 3.1416 3.14159 3.14159 3.141590000 

Esempio 2

Vediamo un altro semplice esempio:

 #include #include #include #include using namespace std; int main() { const long double pi = acos(-1.L); cout << 'default precision (6): ' << pi << '
' << 'setprecision(10): ' << setprecision(10) << pi << '
' << 'max precision:' << setprecision(numeric_limits::digits10 + 1) << pi << '
'; return 0; } 

Produzione:

 default precision (6): 3.14159 setprecision(10): 3.141592654 max precision:3.141592653589793239 

Esempio 3

Vediamo un altro semplice esempio:

 #include #include using namespace std; int main (void) { float a,b,c; a = 5; b = 3; c = a/b; cout << setprecision (1) << c << endl; cout << setprecision (2) << c << endl; cout << setprecision (3) << c << endl; cout << setprecision (4) << c << endl; cout << setprecision (5) << c << endl; cout << setprecision (6) << c << endl; return 0; } 

Produzione:

ide in forma completa
 2 1.7 1.67 1.667 1.6667 1.66667