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

MFC Discussion :

Avoir 3 chiffres après la virgule dans un Edit control


Sujet :

MFC

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Par défaut Avoir 3 chiffres après la virgule dans un Edit control
    Bonjour,
    je veux récupérer un nombre double dans un Edit control en conservant 3 chiffres seulement après la virgule.
    Comment je peux avoir ce résultat sans passer par sprintf ni scanf.
    Y a t il une méthode qui fait ça directement en c++
    Merci pour votre aide

  2. #2
    Membre très actif Avatar de subzero01
    Inscrit en
    Décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2007
    Messages : 281
    Par défaut
    Bonjour,
    Puisque tu es dans le forum MFC je te propose une solution avec CString
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	CString str;
    	DOUBLE nbr=3.2546746874;
    	str.Format("%.3f",nbr);
    	MessageBox(str);
    Bonne chance

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Par défaut
    Merci beaucoup subzero,
    mais est ce qu'il y a une autre méthode qui permet d'avoir ce format directement sans passer par les chaine de caracteres.

    C'est à dire y a t il une méthode comme setprecision qui est utilisé avec cout

  4. #4
    Membre très actif Avatar de subzero01
    Inscrit en
    Décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2007
    Messages : 281
    Par défaut
    A ma connaissance il n'y a pas de type de données à 3 chiffre apres la virgule.
    mais comme tu veux l'afficher dans un Edit control tu es obligé à le passer en chaine de caractères en fin de compte !
    bonne chance

  5. #5
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 526
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 526
    Par défaut
    Citation Envoyé par moooona Voir le message
    mais est ce qu'il y a une autre méthode qui permet d'avoir ce format directement sans passer par les chaine de caracteres.
    On est toujours obligé de passer par des chaines de caractère ( il y a confusion)
    C'est une représentation
    En interne un nombre décimal est stocké selon une certaine manière , avec la partie entière et la partie décimale.

    Si tu déclares par exemple un float ou un double, le compilateur ne se préoccupe pas de savoir combien de chiffres il y a après la virgule il va allouer "bêtement" 8 octets par exemple en 32bits pour stocker partie entière et partie décimale ( et mantisse).
    Ou alors la solution si tu veux avoir strictement 3 chiffres après la virgule c'est de passer par des champs de bits mais cela ne sera d'aucune utilité ici.

    C'est à dire y a t il une méthode comme setprecision qui est utilisé avec cout
    cout c'est différent c'est en mode console seulement

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

Discussions similaires

  1. Affichage deux chiffres apres la virgule dans DBGrid
    Par alili mostafa dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/01/2010, 13h01
  2. Réponses: 2
    Dernier message: 26/06/2008, 11h21
  3. Réponses: 3
    Dernier message: 03/05/2008, 16h44
  4. Réponses: 2
    Dernier message: 31/03/2008, 11h27
  5. Réponses: 2
    Dernier message: 02/08/2006, 17h04

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