logo

C++ manipuliatoriaus nustatymo tikslumas

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