Question de base c++

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. 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
    1. Salut, utilise float si tu met un nombre a virgule.
      0
      1. 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