Maison  >  Article  >  développement back-end  >  Comment obtenir un formatage précis avec std::ostream comme printf_s ?

Comment obtenir un formatage précis avec std::ostream comme printf_s ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-30 04:30:28274parcourir

How to achieve precise formatting with std::ostream like printf_s?

Formatage précis avec std::ostream

Comment obtenir un formatage précis avec std::cout ? Prenons l'exemple suivant :

<code class="cpp">double my_double = 42.0;
char str[12];
printf_s("%11.6lf", my_double); // Prints " 42.000000"</code>

Dans ce code, printf_s est utilisé pour formater et imprimer le double my_double avec une précision et une largeur spécifiques. La fonctionnalité équivalente dans std::ostream peut être obtenue à l'aide de manipulateurs de flux.

Pour afficher " 42.000000" à l'aide de std::cout, appliquez ces manipulateurs dans l'ordre :

std:: fixed : définit la notation à virgule fixe au lieu de la notation scientifique.

std::setw(11) : définit la largeur du champ de sortie sur 11 caractères.

std::setprecision(6) : Spécifie le nombre de chiffres à afficher après la virgule décimale.

Le code correct devient :

<code class="cpp">#include <iomanip>

std::cout << std::fixed << std::setw(11) << std::setprecision(6) << my_double;</code>

Ceci Cette approche permet un formatage précis des valeurs doubles à l'aide de std::ostream sans recourir à des bibliothèques tierces ou à la manipulation de chaînes personnalisées.

Pour une référence complète sur le formatage std::ostream, reportez-vous à la documentation de la bibliothèque standard C, en particulier la section sur les « Manipulateurs de flux ».

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