logo

C++ manipulator postavlja preciznost

C++ manipulator setprecision funkcija se koristi za kontrolu broja znamenki prikaza izlaznog toka vrijednosti s pomičnim zarezom.

Ovaj manipulator je deklariran u datoteci zaglavlja.

Sintaksa

 /*unspecified*/ setprecision (int n); 

Parametar

n : nova vrijednost za decimalnu preciznost.

Povratna vrijednost

Ova funkcija vraća objekt nespecificiranog tipa. Funkcija setbase trebala bi se koristiti samo kao manipulator toka.

instalacija baklje

Utrke podataka

Objekt toka na koji je umetnut ili ekstrahiran je modificiran i istovremeni pristup istom objektu toka može dovesti do utrke podataka.

Iznimke

Objekt je u valjanom stanju, ako je izbačena bilo kakva iznimka.

Primjer 1

Pogledajmo jednostavan primjer za demonstraciju upotrebe 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; } 

Izlaz:

 3.1416 3.14159 3.14159 3.141590000 

Primjer 2

Pogledajmo još jedan jednostavan primjer:

 #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; } 

Izlaz:

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

Primjer 3

Pogledajmo još jedan jednostavan primjer:

 #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; } 

Izlaz:

 2 1.7 1.67 1.667 1.6667 1.66667