logo

C++ Manipulator-instelprecisie

C++ manipulatorinstelprecisie De functie wordt gebruikt om het aantal cijfers van een uitvoerstroomweergave van een drijvende-kommawaarde te regelen.

Deze manipulator wordt gedeclareerd in het headerbestand.

Syntaxis

 /*unspecified*/ setprecision (int n); 

Parameter

N : nieuwe waarde voor de decimale precisie.

Winstwaarde

Deze functie retourneert een object van een niet-gespecificeerd type. De setbase-functie mag alleen worden gebruikt als streammanipulator.

Dataraces

Het stroomobject waarop het wordt ingevoegd of geëxtraheerd, wordt gewijzigd en gelijktijdige toegang tot hetzelfde stroomobject kan dataraces veroorzaken.

Uitzonderingen

Het object heeft een geldige status als er een uitzondering optreedt.

voorbeeld 1

Laten we het eenvoudige voorbeeld bekijken om het gebruik van setprecision te demonstreren:

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

Uitgang:

 3.1416 3.14159 3.14159 3.141590000 

Voorbeeld 2

Laten we nog een eenvoudig voorbeeld bekijken:

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

Uitgang:

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

Voorbeeld 3

Laten we nog een eenvoudig voorbeeld bekijken:

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

Uitgang:

 2 1.7 1.67 1.667 1.6667 1.66667