Maison >développement back-end >C++ >Comment formater des nombres à virgule flottante avec std :: cout ?

Comment formater des nombres à virgule flottante avec std :: cout ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-30 02:27:291005parcourir

How to Format Floating Point Numbers with std::cout?

Formatage des nombres à virgule flottante avec std::cout

Cette question aborde les défis liés au formatage des nombres à virgule flottante à l'aide de std::cout, un flux de sortie fondamental en C . L'utilisateur exprime sa frustration face aux options de formatage limitées disponibles via std::cout et envisage de recourir à la fonction sprintf_s, plus verbeuse. Ils recherchent une référence complète qui consolide les capacités de formatage pour std::ostream.

Réponse :

Heureusement, std::cout fournit des manipulateurs de flux qui offrent des options de formatage flexibles pour nombres à virgule flottante. Ces manipulateurs incluent :

  • std::fixed : spécifie la notation à virgule fixe au lieu de la notation scientifique.
  • std::setw(width) : définit la largeur du champ pour la sortie, remplissage à gauche ou à droite avec des espaces.
  • std::setprecision(precision) : contrôle le nombre de chiffres après la virgule décimale.
  • std::setfill(character) : remplit tout vide espaces dans le champ avec le caractère spécifié.

Exemple :

La sortie souhaitée de " 42.000000" peut être obtenue en utilisant le code suivant :

<code class="cpp">#include <iomanip>
std::cout << std::fixed << std::setw(11) << std::setprecision(6) << my_double;</code>

Remarques supplémentaires :

  • Le manipulateur std::fixed garantit que le nombre est formaté avec un nombre fixe de décimales.
  • Les manipulateurs std::setw et std::setprecision contrôlent respectivement la largeur et la précision du champ.
  • Le manipulateur std::setfill peut être utilisé pour remplir les espaces vides avec des zéros ou tout autre caractère souhaité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn