389 votes

Comment puis-je imprimer une valeur double avec précision à l’aide de cout ?

Donc, j’ai obtenu la réponse à ma dernière question (je ne sais pas pourquoi je ne pensais pas cela). J’ai l’impression un à l’aide de qui a obtenu arrondi lorsque je ne m’attendais pas elle. Comment puis-je faire imprimer un à l’aide d’une précision ?

454voto

Bill the Lizard Points 147311

Vous pouvez définir la précision directement sur et utilisé la [ ](http://en.cppreference.com/w/cpp/io/manip/fixed) spécificateur de format.

Vous pouvez `` pour obtenir le maximum de précision d’un float ou double.

82voto

Paul Beckingham Points 7460

Std::setprecision d’utilisation :

27voto

Loki Astari Points 116129

Voici ce que j'ai utiliser:

std::cout << std::setprecision (std::numeric_limits<double>::digits10 + 1)
          << 3.14159265358979
          << std::endl;

Fondamentalement, les limites paquet a des traits de caractère pour tous les construire dans les types de.
L'un des traits pour les nombres à virgule flottante (float, double, long double) est le digits10 attribut. Cela définit la précision (j'ai oublié la terminologie exacte) d'un nombre à virgule en base 10.

Voir: http://www.cplusplus.com/reference/std/limits/numeric_limits.html
Pour plus de détails sur d'autres attributs.

14voto

Timothy003 Points 1015

La façon iostreams est sorte de maladroit. Je préfère utiliser `` car il calcule la précision juste pour moi. Et c’est rapide, trop.

Sortie :

Pi : 3.14159265358979

1voto

Uri Points 50687

cout est un objet qui a un tas de méthodes, que vous pouvez appeler pour modifier la précision et le formatage des trucs imprimés.

Il y a une opération de setprecision(...), mais vous pouvez également définir d’autres choses comme la largeur d’impression, etc..

Chercher des cout dans le renvoi de l’IDE.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X