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 :

retirer la precision de setprecision


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 19
    Par défaut retirer la precision de setprecision
    Bonjour,

    Bon je vais poser une question bateau mais comment enlever la precision après l'avoir mise? Je l'ai mise une fois à 3 pour un nombre et tous les suivants se retrouvent aussi avec 3 décimales après la virgule même quand ces 3 décimales sont .000 ....

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Je vois deux possiblités (dont une pour laquelle je ne suis pas sur du tout)
    • La première,pour laquelle je suis sur, c'est de remodifier la précision une fois que tu n'as plus besoin de celle "à trois chiffres"
    • La seconde, pour laquelle j'hésite, c'est de ne mettre la précision "à trois chiffres" dans une fonction uniquement pour l'affichage de ce qui nécessite cette précision


    Il me *semble* en effet que si tu modifie la précision au sein d'une fonction, elle est remise "à son état d'origine" une fois que tu as quitté la fonction (à confirmer/infirmer)
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Il me *semble* en effet que si tu modifie la précision au sein d'une fonction, elle est remise "à son état d'origine" une fois que tu as quitté la fonction (à confirmer/infirmer)
    Etant donné qu'il n'y a pas de variable locale mise en jeu, je ne vois pas comment le flux ou le manipulateur pourrait détecter une fin de fonction (d'ailleurs il vaut mieux parler de portée que de fonction -- une paire d'accolade suffit à en définir une).

    Les manipulateurs de flux ne peuvent avoir que deux portées : immédiate (affecte uniquement l'élément suivant) et infinie (affecte tous les éléments jusqu'à ce qu'on annule l'effet par un autre manipulateur).

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 19
    Par défaut
    En fait, j'ai découvert en fouillant que la precision était par défaut de 6.
    en fait, l'erreur venait du fait que j'incluais l'instruction << fixed << qui entraine systématiquement l'affichage du nombre avec le nombre de décimales égales à la precision (donc 6 par défaut). Je l'ai supprimé pour éviter ce problème pire que celui que je voulais résoudre .

    En tout cas, faire du formatage en C++ n'est pas chose aisé. On ne peut pas faire ce qu'on veut. Peut-être qu'il va falloir que je me tourne vers la bibliothèque boost pour avoir plus de libertés...

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

Discussions similaires

  1. precision sur le pilotage du port parallele
    Par fransouik dans le forum C++Builder
    Réponses: 18
    Dernier message: 26/02/2004, 13h28
  2. [LG]Retirer les blancs dans une chaine
    Par Andy_24DB dans le forum Langage
    Réponses: 16
    Dernier message: 25/02/2004, 16h30
  3. [VBA-E]Demande de précision sur les menus
    Par geffdenimes dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/06/2003, 10h46
  4. [langage] Retirer le premier caractère d'une chaine ?
    Par kwisach dans le forum Langage
    Réponses: 5
    Dernier message: 24/04/2003, 11h05
  5. Generation d'evenements a une date precise
    Par pascalzzz dans le forum MFC
    Réponses: 2
    Dernier message: 04/06/2002, 15h21

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