logo

C++ Manipulator indstillet præcision

C++ manipulator indstillet præcision funktionen bruges til at styre antallet af cifre i en outputstrømvisning af en flydende kommaværdi.

lort

Denne manipulator er erklæret i header-fil.

Syntaks

 /*unspecified*/ setprecision (int n); 

Parameter

n : ny værdi for decimalpræcisionen.

Returværdi

Denne funktion returnerer et objekt af uspecificeret type. Setbase-funktionen bør kun bruges som en stream-manipulator.

Dataløb

Strømobjektet, som det er indsat eller udtrukket på, ændres, og samtidig adgang til det samme strømobjekt kan introducere dataløb.

Undtagelser

Objektet er i en gyldig tilstand, hvis der er en undtagelse.

Eksempel 1

Lad os se det enkle eksempel for at demonstrere brugen af ​​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; } 

Produktion:

boble sortering i algoritme
 3.1416 3.14159 3.14159 3.141590000 

Eksempel 2

Lad os se et andet simpelt eksempel:

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

Produktion:

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

Eksempel 3

Lad os se et andet simpelt eksempel:

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

Produktion:

 2 1.7 1.67 1.667 1.6667 1.66667