12
votes

Comment afficher plus de décimales dans la console de sortie?

Je veux émettre la valeur d'un double dans sa précision complète. Cependant, lors de l'utilisation de la fonction COUT, il affiche uniquement les 6 premiers chiffres, même s'il existe environ 15-16 chiffres de précision.

Comment puis-je obtenir mon programme pour afficher la totalité de la valeur, y compris le composant de magnitude (puissance)?


0 commentaires

3 Réponses :


8
votes

Vous pouvez utiliser quelque chose comme ceci: xxx

plus d'iomipulateurs, ici


2 commentaires

Et si vous le souhaitez que cela soit pleinement précis. mais évidemment, tournez le nombre tel que 7.3333333 pour dire 7,33


Le n'est pas un équivalent de% G format de printf. Et ce format ne vous donne pas ce que certaines autres langues donnent: la chaîne la plus courte qui lit le numéro d'origine.



13
votes

Utilisez le SetPrecision () manipulateur:

http://www.cplusplus.com/reference/iostream/manipulateurs/setprecision/

Vous pouvez également forcer la notation scientifique avec le manipulateur scientifique

http://www.cplusplus.com/reference/iostream/manipulateurs/ scientifique / xxx


0 commentaires

7
votes

Vous recherchez SetPrecision code> (code pris de lien):

int main () {
  double f =3.14159;
  cout << setprecision(15) << f << endl;
  return 0;
}


1 commentaires

Juste au cas où vous l'avez manqué ci-dessous, vous pouvez également utiliser l'IO-manipulateur scientifique pour forcer la notation scientifique si vous le souhaitez.