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 :

Problème récupération double dans CEdit et conversion


Sujet :

MFC

Vue hybride

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 34
    Par défaut Problème récupération double dans CEdit et conversion
    Bonjour,

    J'ai un problème avec les CEdit (MFC), j'utilise ces contrôles dans une boîte de dialogue et je les ai associé à des variable membre de type double.

    En fonction des paramètres régionaux Windows et de ce qui est défini dans le séparateur de décimal, le UpdateData(TRUE) me renvoie une erreur ("veuillez entrer un nombre").

    De même dans mon application, je lis un fichier texte (.txt) qui contient des double (48.2365 / 2.366598 ...etc) j'utilise la fonction "strtod" pour conversion les chaine de caratère que je récupère et lorsque le séparateur n'est pas bien défini sur "." je récupère mal ces doubles.

    Je souhaiterai ne pas dépendre de ce qui a été paramètré dans Windows et forcer le caractère séparateur de décimale à point "." dans mon application.

    Si quelqu'un sait comment faire ?

    Merci

  2. #2
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    salut,

    regarde la fonction "setlocale" de la CRT
    --> notamment avec le paramètre LC_NUMERIC

    @+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 34
    Par défaut [Resolu]
    Effectivement, en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #include <locale.h>
     
    setlocale(LC_NUMERIC, "C");
    Après, lorsque je travail avec des CEdit associés des variables de types double, et lorsque j'utilise la fonction "strtod" tout se passe correctement avec des valeur utilisant le caratère "."

    Je n'ai pas bien compris pourquoi "C" mais ca marche alors...

    Super ! Merci pour ton aide

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

Discussions similaires

  1. Problème récupération valeur dans les edits
    Par Arnaud07 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 23/10/2011, 17h07
  2. Réponses: 7
    Dernier message: 27/06/2011, 11h08
  3. Réponses: 6
    Dernier message: 27/07/2010, 17h05
  4. Problème récupération texte dans des balises HTML
    Par stansoad0108 dans le forum Langage
    Réponses: 20
    Dernier message: 24/06/2008, 15h55
  5. [Smarty] Problème récupération variable dans un for
    Par slaxsystem dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 02/05/2007, 17h10

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