C++ manipulatora iestatījuma precizitāte funkcija tiek izmantota, lai kontrolētu peldošā komata vērtības izvades plūsmas displeja ciparu skaitu.
Šis manipulators ir norādīts galvenes failā.
Sintakse
/*unspecified*/ setprecision (int n);
Parametrs
n : jauna decimāldaļas precizitātes vērtība.
Atdeves vērtība
Šī funkcija atgriež nenoteikta tipa objektu. Funkciju setbase vajadzētu izmantot tikai kā straumes manipulatoru.
Datu sacīkstes
Straumes objekts, kurā tas ir ievietots vai izvilkts, ir modificēts, un vienlaicīga piekļuve vienam un tam pašam straumes objektam var izraisīt datu sacīkstes.
Izņēmumi
Objekts ir derīgā stāvoklī, ja tiek izmests kāds izņēmums.
1. piemērs
Apskatīsim vienkāršu piemēru, lai parādītu setprecision izmantošanu:
#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; }
Izvade:
3.1416 3.14159 3.14159 3.141590000
2. piemērs
Apskatīsim vēl vienu vienkāršu piemēru:
#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; }
Izvade:
cast string kā int
default precision (6): 3.14159 setprecision(10): 3.141592654 max precision:3.141592653589793239
3. piemērs
Apskatīsim vēl vienu vienkāršu piemēru:
#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; }
Izvade:
2 1.7 1.67 1.667 1.6667 1.66667