Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1997 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  formater un nombre avec des zéro devant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

formater un nombre avec des zéro devant

n°1472092
axel584
Posté le 08-11-2006 à 11:16:20  profilanswer
 

Bonjour,
J'ai un nombre sous forme de chaine de caractères et je souhaiterai avoir une chaine qui ait une longueur forcement de 10 caractères (la chaine de départ fait forcement moins de 10 caractères.
Quelle est la solution la plus fun ?
 
actuellement je fais un while avec len(ma_chaine) et je rajoute des zéros devant, mais si j'avais un truc plus joli et que ça me permettrait d'apprendre quelque chose, je serai ravi :)
 
Merci,
 
Axel

mood
Publicité
Posté le 08-11-2006 à 11:16:20  profilanswer
 

n°1472099
Taz
bisounours-codeur
Posté le 08-11-2006 à 11:23:34  profilanswer
 

%010d

n°1472114
axel584
Posté le 08-11-2006 à 11:52:08  profilanswer
 

ça a l'air très interressant, mais je n'y arrive pas.
En fait, le résultat doit être chaine1+chaine2 avec suffisament de zéro entre les deux pour que les zéro + chaine2 ait une longueur totale de 10 caracteres.
 
chaine1 = 'abcd'
chaine2 = '1234'
resultat = '%(chaine1)%(chaine2)010d' % vars()
 
resultat doit être abcd0000001234
 
Merci pour ton aide,
 
Axel

n°1472206
Taz
bisounours-codeur
Posté le 08-11-2006 à 13:40:14  profilanswer
 

pas comme ça. tu dois le faire en deux fois
 
fmt = '%%0%dd' % (10,)
s = fmt % (1234,)

n°1473364
elpacifica​tor
Posté le 10-11-2006 à 11:12:16  profilanswer
 

chaine1, chaine2 = 'abcd', '1234'
chaine1.ljust(10, '0') + chaine2


Message édité par elpacificator le 10-11-2006 à 11:12:42
n°1473410
masklinn
í dag viðrar vel til loftárása
Posté le 10-11-2006 à 11:52:15  profilanswer
 

Si il est garanti que ta chaîne 2 soit un entier, tu peux faire

Code :
  1. "%s%010d"%(chaine1, int(chaine2))


ou

Code :
  1. chaine1 + chaine2.zfill(chaine2)


Si tu es en 2.4 ou plus, tu peux aussi faire

Code :
  1. chaine1 + chaine2.rjust(10, '0')


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1537584
nicolbolas
Optiquement votre.
Posté le 02-04-2007 à 23:54:54  profilanswer
 

str(nombre).zfill(10) :o

n°1537644
masklinn
í dag viðrar vel til loftárása
Posté le 03-04-2007 à 10:41:30  profilanswer
 

ouais bon j'ai fait une petite erreur stou :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  formater un nombre avec des zéro devant

 

Sujets relatifs
nombre d'occurenceMySQL: Afficher le nombre d'enregistrements dans une table
[MySQL]Administration : limiter le nombre de connexions par posteImpossible d'insérer un nombre dans une table MySQL (Prob de noob dsl)
conversion chaine vers nombreCreation de fichier binaire->choix du nombre de bits
conversion nombre en chaine binaireExo nombre premier
Retourner une liste privée des multiples d'un nombre[JS] transformer un nombre de seconde en minutes, heures, etc...
Plus de sujets relatifs à : formater un nombre avec des zéro devant


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)