IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Comment avoir 2 décimales pour une variable de type double?


Sujet :

C++

  1. #1
    Membre actif
    Homme Profil pro
    testeur logiciel
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : testeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Points : 211
    Points
    211
    Par défaut Comment avoir 2 décimales pour une variable de type double?
    Bonjour à tous,

    Je souhaite obtenir un résultat du type 15000,87 mais je me retrouve toujours avec un résultat du type 15000,9.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    double dSolde = 15000.0;
     
    dSolde += 0.87;
     
    std::cout <<"Solde:" <<dSolde <<std::endl;
    Solde:15000.9
    Comment faire pour avoir 15000.87?

    merci.

  2. #2
    Membre averti Avatar de Nogane
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    241
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 241
    Points : 323
    Points
    323
    Par défaut
    Bonjour,
    Il faut regarder du coté des "manipulators".(#include <iomanip>)
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::cout <<  setprecision(2) << fixed << "Solde:" <<dSolde <<std::endl;
    devrais donner ce que vous désirez.

  3. #3
    Membre actif
    Homme Profil pro
    testeur logiciel
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : testeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Points : 211
    Points
    211
    Par défaut
    Merci pour ta réponse.


    Avec ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    std::cout <<  std::setprecision(7) << fixed << "Solde:" <<dSolde <<std::endl;
    j'obtiens:
    Solde:15000.87
    Je voudrai utiliser cette variable pour l'afficher dans un QTextEdit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    double dSolde = 15000.0;
     
    dSolde += 0.87;
     
    QString qsSolde = "";
    QString qsSolde = qsSolde.SetNum(dSolde);
     
    RqSoldeActuel->setText(qsSolde);
    Mais dans ce cas je me retrouve avec 15000.9.

    Existe t'il des fonctions qui ne soient pas propres aux flux qui permettent de choisir la précisions?

    merci

  4. #4
    Membre actif
    Homme Profil pro
    testeur logiciel
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : testeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Points : 211
    Points
    211
    Par défaut
    Il faut faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    QString qsSolde = qsSolde.SetNum(dSolde,'g',7);

  5. #5
    Membre habitué Avatar de nowahn
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 84
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    Sinon, les flux C++ existent pour les chaînes de caractères :
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #include <sstream> // pour ostringstream
     
    std::ostringstream Stream;
    Stream << std::setprecision(7) << std::fixed << "Solde:" << dSolde;
    RqSoldeActuel->setText(Stream.str());

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/09/2011, 16h38
  2. [XL-2003] Comment avoir toutes infos d'une ligne excel en double cliquant dans une textbox
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/05/2010, 01h33
  3. Réponses: 2
    Dernier message: 12/12/2009, 10h50
  4. Réponses: 1
    Dernier message: 22/06/2007, 15h39
  5. Réponses: 15
    Dernier message: 10/05/2007, 13h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo