C++ format string

____22 Messages postés 101 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

bonjour je voudrais savoir comment
stocker un entier <255 dans un string de taille 3
et qu'il soit toujours aligné à droite
merci
Configuration: Windows XP Internet Explorer 14.0

3 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Ou alors plus simple que réinventer la poudre ^^, utiliser la classe ostringstream.
    Exemple :
    #include <iostream>
    #include <sstream>
    
    int main() {
       std::ostringstream s;
       s<<123;
       std::string ch=s.str();
       std::cout << ch << std::endl;
    }
    

    Cdlt
    2
  2. ____22 Messages postés 101 Statut Membre 1
     
    je crois en C# il y a un truc comme string s=String.Format({0,3:0},monentier); qui permet de faire ça
    comment en C++?
    0
  3. sluthole
     
    Bonjour,

    Il y a une solution basique, avec une petite boucle :
    - tu fait un modulo 10 de ton nombre --> tu récupère ton 3ème chiffre
    - tu divise ton nombre par 10 (arrondi à l'inférieur)
    - tu fait un modulo 10 de ton nombre --> tu récupère ton 2ème chiffre
    - tu divise ton nombre par 10 (arrondi à l'inférieur)
    - tu fait un modulo 10 de ton nombre --> tu récupère ton 1er chiffre
    - ..
    - ... etc... à continuer si tu veux faire avec plus que 3 chiffres

    Par ex, avec 275 :
    275%10= 5 --> 3ème chiffre
    275/10 = 27
    27%10 = 7 --> 2 ème chiffre
    27/10 = 2
    2%10 = 2 --> 1er chiffre

    Autre ex, avec 72, pour vérifier que c'est cadré à droite :
    072%10 = 2 --> 3ème chiffre
    072/10 = 7
    7%10 = 7 --> 2 ème chiffre
    7/10 = 0
    0%10 = 0 --> 1er chiffre

    En espérant t'avoir aidé
    Bon courage
    Marc
    0