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

SL & STL C++ Discussion :

Convertir un std::string en double.


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de vdumont
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 510
    Par défaut Convertir un std::string en double.
    Bonjour, comment convertir un std::string en double? J'ai essayer avec un static_cast sans succès...


  2. #2
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129

  3. #3
    Membre éclairé Avatar de vdumont
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 510
    Par défaut
    Ca fonctionne pas mon truc


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    template <class T>
    std::string Util::ToStr(const T & value) 
    {
        std::ostringstream oss;
        oss << value;
        return oss.str(); 
    }
    En faisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     double offset = Util::ToStr(dialog->GetOffset().mb_str()); // retourne un const char*

    cannot convert `std::basic_string<char, std::char_traits<char>, std::allocator<char> >' to `double' in initialization

  4. #4
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    essaye de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    template <class T>
    bool Util::ToStr(std::string & str, const T & value) 
    {
        std::istringstream iss(str);
        return iss >> value != 0; 
    }
    En faisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     double offset = Util::ToStr(dialog->GetOffset().mb_str()); // retourne un const char*
    toi, tu faisait un flux de sortie et non un flux d'entree!!!

  5. #5
    Membre éclairé Avatar de vdumont
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 510
    Par défaut
    Je fais maintenant


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    double offset;
    Util::FromStrToAny(dialog->GetOffset().mb_str(), offset);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     template <class T>
     static bool FromStrToAny(const std::string&, T&)
     
     
    template<class T>
    bool FromStrToAny(const std::string & str, T & out )
    {
        // créer un flux à partir de la chaîne donnée
        std::istringstream iss( str );
     
        // tenter la conversion vers Dest
        return iss >> out != 0;
    }

    Et au linkage ca plante en me disant:

    [Linker error] undefined reference to `bool Util::FromStrToAny<double>(std::string const&, double&)'

  6. #6
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    Citation Envoyé par vdumont
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     template <class T>
     static bool FromStrToAny(const std::string&, T&)
    est-ce normal que le ";" de ta declaration n'y soit pas???

  7. #7
    Membre éclairé Avatar de vdumont
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 510
    Par défaut
    Erreur de copier/coller désolé. Il y est.

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

Discussions similaires

  1. Convertir une std::string de utf8 vers cp850
    Par dj.motte dans le forum SL & STL
    Réponses: 7
    Dernier message: 30/10/2008, 22h15
  2. [FAQ]Comment convertir une std::string en AnsiString ?
    Par Invité dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/11/2006, 18h08
  3. Comment convertir une variable string en double?
    Par quentinoux dans le forum C++
    Réponses: 12
    Dernier message: 31/07/2006, 10h46
  4. convertir std::string en float
    Par radicalrider dans le forum SL & STL
    Réponses: 20
    Dernier message: 03/07/2006, 18h50
  5. convertir un char * en std::string
    Par benahpets dans le forum SL & STL
    Réponses: 12
    Dernier message: 01/05/2006, 17h15

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