C++ format string

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. Contributeur
    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
    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
      1. 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