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!