logo

Précision du manipulateur C++

Précision du manipulateur C++ La fonction est utilisée pour contrôler le nombre de chiffres d’un affichage de flux de sortie d’une valeur à virgule flottante.

Ce manipulateur est déclaré dans le fichier d'en-tête.

Syntaxe

 /*unspecified*/ setprecision (int n); 

Paramètre

n : nouvelle valeur pour la précision décimale.

Valeur de retour

Cette fonction renvoie un objet de type non spécifié. La fonction setbase ne doit être utilisée que comme manipulateur de flux.

Courses aux données

L'objet flux sur lequel il est inséré ou extrait est modifié et l'accès simultané au même objet flux peut introduire des courses de données.

fonction python chr

Des exceptions

L'objet est dans un état valide, si une exception est levée.

Exemple 1

Voyons l'exemple simple pour démontrer l'utilisation de 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; } 

Sortir:

 3.1416 3.14159 3.14159 3.141590000 

Exemple 2

Voyons un autre exemple simple :

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

Sortir:

base de données sur les propriétés des acides
 default precision (6): 3.14159 setprecision(10): 3.141592654 max precision:3.141592653589793239 

Exemple 3

Voyons un autre exemple simple :

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

Sortir:

 2 1.7 1.67 1.667 1.6667 1.66667