|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 515 ![]() |
Bonjour,
J'ai une chaine numérique qui correspond à un montant. De ce montant, je dois d'abord supprimer les "," ou "." correspondant au décimal. En suite, je dois réaliser une action pour que cette variable fasse 20 caractéres, en mettant des "0" devant mon montant exemple : 00000000000001242322 En sachant que ce montant est variable, comme puis je faire pour retrouver avec le bon nombre de "0"0 Citation:
|
|
|
|
00
|
|
|
#2 | ||||||
|
Membre Expert
![]() Laurent R.Conseil - Consultant en systèmes d'information Inscription : mai 2012 Messages : 588 ![]() |
La virgule n'étant pas un caractère spécial pour les expression régulières, il n'y a pas besoin de la précéder d'un caractère d'échappement. Donc:
Code :
Code :
$toto = '0' x (20 - len($toto)) . $toto; Ou, beaucoup mieux en principe, tu utilises l'une des trois fonctions suivantes qui servent à ce genre de formatage: pack, sprintf (voire directement printf) ou format ... Sauf que leur syntaxe n'est pas toujours du gâteau. Un exemple qui devait t'aider avec sprintf: Code :
C'est l'idée. A ajuster éventuellement si le nombre peut être négatif. Si $toto vaut -1242322 avant le sprintf, il deviendra -0000000000001242322 (donc un zéro de moins pour permettre le signe -, le tout restant sur 20 caractères), ce qui est sans doute ce que tu recherches, mais à confirmer.
__________________
Sauf mention contraire explicite, les bouts de code que je poste en réponse à une question n'ont pas forcément été testés. |
||||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com