Petite problème d'affichage

Résolu
azzouz021 Messages postés 1 Date d'inscription mercredi 25 octobre 2017 Statut Membre Dernière intervention 25 octobre 2017 - Modifié le 26 oct. 2017 à 12:10
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 26 oct. 2017 à 11:10
bonjour,

#include<iostream>
using namespace std;
main()
{
  double a=0.123456789;
  double b=10;
  cout<<a+b;/* Il affiche 10.1234. Pourquoi il ne peut pas afficher le nombre complètement et comment résoudre ce problème ? */
}

2 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
25 oct. 2017 à 21:25
Dans ton cas, il se peut que ce soit que le << limite la précision, tu peux toujours essayer avec
printf("%f", a+b);
ou
printf("%1.9f", a+b);
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
26 oct. 2017 à 11:10
Bonjour.

Il faut utiliser std::setprecision.
En passant, évite les using namespace, c'est assez crade, voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace/

#include <iostream>
#include <iomanip>

int main()
{
  double a = 0.123456789;
  double b = 10;

  std::cout << std::setprecision(10) << a + b << std::endl;
}

0
Rejoignez-nous