JeuWeb - Crée ton jeu par navigateur
[Résolu][PHP] Formater un nombre sur 3 chars - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu][PHP] Formater un nombre sur 3 chars (/showthread.php?tid=6044)



[Résolu][PHP] Formater un nombre sur 3 chars - Furukoo - 21-03-2012

Bonjour

Je cherche à formater un nombre de 0 à 999 en une chaine de 3 charactères.

par exemple : '1' affiche -> '001' ou '52' affiche '052'

J'ai trouvé ça :

Code :
echo substr($room/1000,2,3);

Quelque chose de plus simple existe t-il ?

Merci coop


RE: [PHP] Formater un nombre sur 3 chars - Antoinee - 21-03-2012

Salut,

Tu peux utiliser printf qui va t'afficher ton texte formaté, ou alors sprintf qui retournera la chaîne sans l'afficher.

printf("%03d", mt_rand(0, 999));
$var = sprintf("%03d", mt_rand(0, 999));



RE: [PHP] Formater un nombre sur 3 chars - Furukoo - 21-03-2012

(21-03-2012, 08:07 PM)Antoinee a écrit : Salut,

Tu peux utiliser printf qui va t'afficher ton texte formaté, ou alors sprintf qui retournera la chaîne sans l'afficher.

printf("%03d", mt_rand(0, 999));
$var = sprintf("%03d", mt_rand(0, 999));

Merci Smile


RE: [RESOLU][PHP] Formater un nombre sur 3 chars - Anthor - 21-03-2012

Il y a aussi str_pad.


RE: [RESOLU][PHP] Formater un nombre sur 3 chars - Furukoo - 21-03-2012

(21-03-2012, 08:28 PM)Anthor a écrit : Il y a aussi str_pad.
Oui ça fonctionne aussi. Mais alors quelle fonction choisir ?




RE: [RESOLU][PHP] Formater un nombre sur 3 chars - niahoo - 21-03-2012

Ben fais un benchmark sur ton site de prod et tu verras ce qui est le plus rapide. str_pad sera plus sympa je pense si tu souhaitais par la suite faire varier le nombre de caractères.


RE: [RESOLU][PHP] Formater un nombre sur 3 chars - Anthor - 21-03-2012

Je pencherais de tête pour str_pad car il ne doit pas interpréter avec un expression régulière pour évaluer le format.
Mais comme le dit niahoo rien ne vaut un petit bench.