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