C++ manipuliatoriaus nustatymo tikslumas Funkcija naudojama slankiojo kablelio reikšmės išvesties srauto rodymo skaitmenų skaičiui valdyti.
Šis manipuliatorius deklaruojamas antraštės faile.
Sintaksė
/*unspecified*/ setprecision (int n);
Parametras
n : nauja dešimtainio tikslumo reikšmė.
Grąžinimo vertė
Ši funkcija grąžina neapibrėžto tipo objektą. Setbase funkcija turėtų būti naudojama tik kaip srauto manipuliatorius.
Duomenų lenktynės
Srauto objektas, kuriame jis įterpiamas arba išgaunamas, yra modifikuojamas, o tuo pačiu metu pasiekiama prieiga prie to paties srauto objekto gali sukelti duomenų lenktynes.
Išimtys
Objektas yra tinkamos būsenos, jei išmesta kokia nors išimtis.
1 pavyzdys
Pažiūrėkime paprastą pavyzdį, kad parodytume, kaip naudojamas 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; }
Išvestis:
3.1416 3.14159 3.14159 3.141590000
2 pavyzdys
Pažiūrėkime dar vieną paprastą pavyzdį:
#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; }
Išvestis:
default precision (6): 3.14159 setprecision(10): 3.141592654 max precision:3.141592653589793239
3 pavyzdys
Pažiūrėkime dar vieną paprastą pavyzdį:
#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; }
Išvestis:
2 1.7 1.67 1.667 1.6667 1.66667