Petite problème d'affichage [Résolu]

azzouz021 1 Messages postés mercredi 25 octobre 2017Date d'inscription 25 octobre 2017 Dernière intervention - 25 oct. 2017 à 20:18 - Dernière réponse : cptpingu 3784 Messages postés dimanche 12 décembre 2004Date d'inscriptionModérateurStatut 18 avril 2018 Dernière intervention
- 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 ? */
}
Afficher la suite 

2 réponses

Répondre au sujet
NHenry 14132 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 21 avril 2018 Dernière intervention - 25 oct. 2017 à 21:25
0
Utile
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);
Commenter la réponse de NHenry
cptpingu 3784 Messages postés dimanche 12 décembre 2004Date d'inscriptionModérateurStatut 18 avril 2018 Dernière intervention - 26 oct. 2017 à 11:10
0
Utile
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;
}

Commenter la réponse de cptpingu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.