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 :

int vers string avec "padding", ex: 1 -> 01


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 27
    Par défaut int vers string avec "padding", ex: 1 -> 01
    Bonjour

    je voudrais transformer un int en string avec 2 caractères
    exemple: 1 -> 01

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int theSize = myQueue.size();  // = 1
    ostringstream stream;
    stream << std::setfill('0') << std::setw(2) << theSize;
    imprime: 1

    par contre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cout << setfill ('0') << setw (10);
    cout << theSize << endl;
    imprime: 01

    Des suggestions?

  2. #2
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Par défaut
    Hello,

    Pourquoi pas tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int theSize = int theSize = myQueue.size(); // = 1
    std::stringstream stream;
    stream << theSize;
    std::string str = ((theSize < 10) ? "0": "") + stream.str();

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 27
    Par défaut
    C'est effectivement une solution possible mais j'aimerais savoir pourquoi
    mon code ne fonctionne pas avec stringstream.
    Si je fais un output à l'écran, ça fonctionne alors que
    si je fait le même output dans une variable, ça ne fonctionne pas !

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 759
    Par défaut
    Comment as-tu affiché la valeur de stream ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 27
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cout << "theSize: " << theSize << endl;
    cout << "stream: " << stream << endl;
    cout << "stream: " << stream.str() << endl;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    theSize: 1
    stream: 0x7ffcf113bd18
    stream: 01
    En fait, je faisais afficher theSize !?$#@%?&?%!
    Donc si je comprend bien le résultat s'inscrit simplement dans stream !

    Merci

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

Discussions similaires

  1. Formatage de int vers string
    Par menzlitsh dans le forum Langage
    Réponses: 7
    Dernier message: 17/07/2007, 13h34

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