Setprecision manipulator C++ funcția este utilizată pentru a controla numărul de cifre ale unui flux de ieșire de afișare a unei valori în virgulă mobilă.
Acest manipulator este declarat în fișierul antet.
Sintaxă
/*unspecified*/ setprecision (int n);
Parametru
n : valoare nouă pentru precizia zecimală.
Valoare returnată
Această funcție returnează un obiect de tip nespecificat. Funcția setbase ar trebui să fie folosită doar ca manipulator de flux.
căutarea bfs
Curse de date
Obiectul flux pe care este inserat sau extras este modificat și accesul concurent la același obiect flux poate introduce curse de date.
Excepții
Obiectul este într-o stare validă, dacă se aruncă vreo excepție.
Exemplul 1
Să vedem exemplul simplu pentru a demonstra utilizarea setprecision:
factorial în c
#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; }
Ieșire:
3.1416 3.14159 3.14159 3.141590000
Exemplul 2
Să vedem un alt exemplu simplu:
#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; }
Ieșire:
default precision (6): 3.14159 setprecision(10): 3.141592654 max precision:3.141592653589793239
Exemplul 3
Să vedem un alt exemplu simplu:
#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; }
Ieșire:
2 1.7 1.67 1.667 1.6667 1.66667