Utilisation correcte de std::cout.precision() pour afficher les zéros de fin
En C, std::cout.precision() définit la précision des nombres à virgule flottante. Cependant, il n’affiche pas automatiquement les zéros à droite. Pour résoudre ce problème, comprendre l'utilisation appropriée de std::cout.precision() est crucial.
Dans le code donné :
#include <iostream> #include <stdlib.h> int main() { int a = 5; int b = 10; std::cout.precision(4); std::cout << (float)a / (float)b << "\n"; return 0; }
La précision est définie sur 4, mais le la sortie est de 0,5 au lieu de 0,5000. En effet, l'opération de division génère une valeur à virgule flottante double précision et le format par défaut std::cout n'inclut pas les zéros de fin.
Pour afficher les zéros de fin, le manipulateur std::fixed doit être passé couter. Cela demande à cout d'utiliser une notation à virgule fixe, qui affiche explicitement les zéros à droite. Le code corrigé :
#include <iostream> #include <stdlib.h> #include <iomanip> int main() { int a = 5; int b = 10; std::cout << std::fixed; std::cout << std::setprecision(4); std::cout << (float)a / (float)b << "\n"; return 0; }
Maintenant, la sortie sera de 0,5000, comme prévu. std::setprecision() définit la précision sur 4 et std::fixed garantit que les zéros à droite sont affichés.
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!