formater un nombre avec des zéro devant

formater un nombre avec des zéro devant - Python - Programmation

Marsh Posté le 08-11-2006 à 11:16:20    

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

Reply

Marsh Posté le 08-11-2006 à 11:16:20   

Reply

Marsh Posté le 08-11-2006 à 11:23:34    

%010d

Reply

Marsh Posté le 08-11-2006 à 11:52:08    

ç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

Reply

Marsh Posté le 08-11-2006 à 13:40:14    

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

Reply

Marsh Posté le 10-11-2006 à 11:12:16    

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


Message édité par elpacificator le 10-11-2006 à 11:12:42
Reply

Marsh Posté le 10-11-2006 à 11:52:15    

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
Reply

Marsh Posté le 02-04-2007 à 23:54:54    

str(nombre).zfill(10) :o

Reply

Marsh Posté le 03-04-2007 à 10:41:30    

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
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed