Réglage de la précision d'un double sans l'aide de flux (ios_base::précision)

Est-il un moyen de le faire sans utiliser le flux de données? Par exemple, quelque chose comme ceci:

double a = 6.352356663353535;
double b = a.precision(5);

au lieu de:

double a = 6.352356663353535;
std::cout.precision(5);
std::cout << a << std::endl;

Je suis novice en C++ et je suis curieux. Merci d'avance.

  • Pour clarifier, je suppose qu'une fois le premier exemple std::cout << b << std::endl; devrait produire le même résultat que le deuxième exemple n'?
  • Non, pour le premier exemple, double b était là pour réduire à 5 sig. fig, alors que dans le deuxième exemple, il n'est pas nécessaire pour cette variable.
  • C'est pourquoi je me suis renseigné sur le sortie. Vous êtes confus au sujet de la représentation interne, de toute évidence, donc, je me demandais ce que vous vous attendiez à voir à l'extérieur.
  • Oui, je voulais obtenir un nombre à 5.s.f. Je suis maintenant, vous demandez-vous s'il est possible d'obtenir une chaîne de caractères dans le flux, et si oui, comment le faire avec le deuxième exemple.