Question de base c++

lmd -  
 lmd -
Bonjour,

Je ne parviens pas a voir la precision souhaitée ac double, pourquoi ma sortie est-elle différente ?

code:

double d = 125848994.25;
std::cout<<"test: "<<d<<std::endl;

resultat : 1.25849e+008 (je voudrais 1.2584899425e+010)

Merci de votre aide.

MS.
Configuration: Windows XP
Internet Explorer 7.0
visual c++ 2005

3 réponses

  1. Mahmah Messages postés 497 Statut Membre 125
     
    Bonjour,

    Un float c'est comme qui dirait mois précis qu'un double en fait...

    Je ne comprends pas le soucis réel

    double d1 = 125848994.25; -> 1.25849e+008
    double d2 = 12584899425; -> 1.25849e+010

    d1 et d2 ne sont pas égaux, tu ne peux obtenir l'un à partir de l'autre juste en affichant...

    Eventuellement...
    precision pour changer le nombre de chiffres significatifs à afficher.

    M.
    1
  2. doctormad
     
    Salut, utilise float si tu met un nombre a virgule.
    0
  3. lmd
     
    ok oauis javais mal posé ma question, c'etait juste que j'avais pas assez de chiffres significatifs ... std::setprecision(precison_souhaitée) fait l'affaire ... ou même on peut utilisé le bon printf du c.

    Merci
    0