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