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 :

Nombre de digits d'un double


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Nombre de digits d'un double
    Bonjour,

    Voilà mon problème, je voudrais savoir comment faire pour connaitre le nombre de chiffres après la virgule d'un double saisi par l'utilisateur.

    Par exemple, il entre la valeur suivante 0.123456789 je voudrais donc retrouver le nombre 9.

    C'est en c++ que je chercher ça, c'est pour ensuite vérifier que la valeur insérée est conforme au format d'affichage.

    Merci par avance.

  2. #2
    Membre actif
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    189
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 189
    Points : 214
    Points
    214
    Par défaut
    Si ce n'est que pour l'affichage tu peux faire en sorte que X décimales soient affichées. Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cout << setprecision(10) << pi << endl;
    Tu as besoin de iomanip

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Non ce n'est pas pour l'affichage car là tu précise un nombre de digits qui est 10 alors que moi je veux récupérer le nombre de digits insérés à la saisie.

    Une fois dans le code, j'ai besoin de comparer le nombre de digits après la virgule que l'utilisateur a entré et une variable qui est dans mon code.

  4. #4
    Membre actif
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    189
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 189
    Points : 214
    Points
    214
    Par défaut
    La seule solution que je vois n'est pas directe. Elle consiste à passer ton double dans une string et de compter les caractères après le point.
    Pour le cast double -> string je te laisse voir la FAQ.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Ok merci moi aussi j'avais pensé à ça, cependant lors du cast du double en string tu dois préciser sous quel format tu veux la caster;
    du style sprintf(strdouble,"%f",valeur) et j'ai essayé ça mais ça me donne 6 digits alors que j'ai donné un double avec plus de 6 digits.
    Je vais essayer de voir s'il y a moyen de le caster tel qu'il est mais je pense pas que ça soit possible.

  6. #6
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    Ca c'est la façon C de faire. En C++ on passe par des ostringstream. Pour plus de détail voir cette entrée de la faq :

    http://cpp.developpez.com/faq/cpp/?p...RINGS_numtostr

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse, je vas tester cela demain et te tiendrais au courant.

    Bonne soirée

  8. #8
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Si tu veux le nombre de chiffres décimaux après la virgule qu'a rentré l'utilisateur, compte les caractères avant de convertir en double. La représentation interne des doubles n'est pas décimale, parler de chiffres décimaux après la virgule pour celle-ci n'a pas de sens.

Discussions similaires

  1. Suppression de digit en fonction du nombre de digit dans le code
    Par stefanem dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 13/11/2012, 09h11
  2. Comment imposer le nombre de digit derrière la virgule
    Par bourgui78 dans le forum Général Python
    Réponses: 1
    Dernier message: 02/12/2008, 10h38
  3. Augmenter le nombre de digits d'un nombre
    Par deubelte dans le forum C++
    Réponses: 3
    Dernier message: 28/11/2008, 10h34
  4. [setw] nombre de digit necessaire
    Par ZaaN dans le forum SL & STL
    Réponses: 1
    Dernier message: 28/08/2007, 14h47
  5. Connaître la nombre de décimales d'un Double
    Par gids01 dans le forum Langage
    Réponses: 3
    Dernier message: 03/07/2007, 10h48

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