Bibliothèque ios C ++ - Fonction fixe

La description

Il est utilisé pour définir l'indicateur de format floatfield pour le flux str sur fixed. Lorsque floatfield est défini sur fixed, les valeurs à virgule flottante sont écrites en utilisant la notation à virgule fixe: la valeur est représentée avec exactement autant de chiffres dans la partie décimale que spécifié par le champ de précision (précision) et sans partie d'exposant.

C ++ 98

L'indicateur de format floatfield est à la fois un indicateur sélectif et un indicateur à bascule: il peut prendre une, les deux ou aucune des valeurs suivantes, comme indiqué ci-dessous -

Valeur du drapeau Effet une fois réglé
fixé écrire des valeurs à virgule flottante en notation à virgule fixe
scientifique écrire des valeurs à virgule flottante en notation scientifique.
(aucun) écrire des valeurs à virgule flottante dans la notation à virgule flottante par défaut.

C ++ 11

L'indicateur de format floatfield est à la fois un indicateur sélectif et un indicateur à bascule: il peut prendre l'une des valeurs suivantes, ou aucune comme indiqué ci-dessous -

Valeur du drapeau Effet une fois réglé
fixé écrire des valeurs à virgule flottante en notation à virgule fixe.
scientifique écrire des valeurs à virgule flottante en notation scientifique.
hexfloat

écrire des valeurs à virgule flottante au format hexadécimal.

La valeur de ceci est la même que (fixed|scientific)

defaultfloat écrire des valeurs à virgule flottante dans la notation à virgule flottante par défaut. Il s'agit de la valeur par défaut (identique à aucune, avant toute autrefloatfield bit est défini).

Déclaration

Voici la déclaration de la fonction std :: fixed.

ios_base& fixed (ios_base& str);

Paramètres

str - Objet Stream dont l'indicateur de format est affecté.

Valeur de retour

Il renvoie l'argument str.

Des exceptions

Basic guarantee - si une exception est levée, str est dans un état valide.

Courses de données

Il modifie str. L'accès simultané au même objet de flux peut provoquer des courses de données.

Exemple

L'exemple ci-dessous explique la fonction std :: fixed.

#include <iostream>     

int main () {
   double a = 3.1415926534;
   double b = 2006.0;
   double c = 1.0e-10;

   std::cout.precision(5);

   std::cout << "default:\n";
   std::cout << a << '\n' << b << '\n' << c << '\n';

   std::cout << '\n';

   std::cout << "fixed:\n" << std::fixed;
   std::cout << a << '\n' << b << '\n' << c << '\n';

   std::cout << '\n';

   std::cout << "scientific:\n" << std::scientific;
   std::cout << a << '\n' << b << '\n' << c << '\n';
   return 0;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

default:
3.1416
2006
1e-010

fixed:
3.14159
2006.00000
0.00000

scientific:
3.14159e+000
2.00600e+003
1.00000e-010