C++ format string

Fermé
____22 Messages postés 98 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 13 janvier 2012 - 10 juil. 2009 à 16:05
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 11 juil. 2009 à 01:00
Bonjour,

bonjour je voudrais savoir comment
stocker un entier <255 dans un string de taille 3
et qu'il soit toujours aligné à droite
merci
A voir également:

3 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
11 juil. 2009 à 01:00
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
____22 Messages postés 98 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 13 janvier 2012 1
10 juil. 2009 à 16:37
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
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