Equivalent de la fonction TEXTE d Excel ?

Equivalent de la fonction TEXTE d Excel ? - PHP - Programmation

Marsh Posté le 20-10-2008 à 12:33:51    

Je cherche une fonction equivalente a texte() de Execl, afin de reformater un nombre
Ce nombre provient d'une colone Id auto incrémentée de 11 chiffres qui en théorie n'en depassera jamais 5 et pour le moment je veux travailler uniquement sur 5 chiffres.
Je veux récuperer "99".$id ou $id sera FORCEMENT sur 5 chiffres.
Sous Excel il me suffit de faire un TEXTE($id;"00000" ) pour qu un 123 donne 00123, qu'un 1 donne 00001 ... etc
 
Je ne trouve pas d'équivalent php, alors j ai du créer un petit script tout moche :
 
$str = strlen($id); // je recup la longueur de la chaine
 
if ($str == "1" )
{$new="990000".$id;}
else if ($str == "2" )
{$new="99000".$id;}
else if ($str == "3" )
{$new="9900".$id;}
else if ($str == "4" )
{$new="990".$id;}
else if ($str == "5" )
{$new="99".$id;}
else {$new="99".$id;} // inutile mais au cas ou je deciderai par la suite de passer a 6 chiffres
 
 
Je pense qu il existe mieux ? :o

Reply

Marsh Posté le 20-10-2008 à 12:33:51   

Reply

Marsh Posté le 20-10-2008 à 13:51:11    

Salut.
 
Essaie  
 

Code :
  1. sprintf("%05s",$value)


 


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 20-10-2008 à 14:00:19    

sprintf("%05d",$value)

Reply

Marsh Posté le 20-10-2008 à 15:47:26    

Génial c'est nickel, j'ai essayé un peu de comprendre la fonction sur php.net et en gros, dites moi si je me trompe, pour expliquer la syntaxe :
 
sprintf("%05d",$value)
 
% = Chaque spécification de conversion est constituée d'un signe de pourcentage (%), suivi d'un ou plusieurs des éléments suivants, dans cet ordre :
 
0 =  Un remplisseur optionnel qui indique quel caractère sera utilisé pour compléter le résultat jusqu'à la longueur requise. Ce peut être le caractère d'espace, ou le caractère 0. Par défaut, le remplissage se fait avec des espaces. Un autre caractère de remplissage peut être spécifié en le préfixant avec un guillemet simple (') : voir les exemples ci-dessous.
 
5 =   Un nombre optionnel, spécificateur de taille  indique le nombre minimum de caractères que cette conversion doit fournir en résultat.  
 
d = l'argument est traité comme un entier, et présenté comme un nombre décimal signé  

Reply

Marsh Posté le 20-10-2008 à 15:57:20    

tu as bien lu


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Sujets relatifs:

Leave a Replay

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