Formater un chiffre

Fermé
najkaj Messages postés 12 Date d'inscription lundi 14 avril 2003 Statut Membre Dernière intervention 17 août 2004 - 14 avril 2003 à 19:53
najkaj Messages postés 12 Date d'inscription lundi 14 avril 2003 Statut Membre Dernière intervention 17 août 2004 - 15 avril 2003 à 10:14
Bonjour, j'aimerais formater un chiffre (par exemple 123456789321) au format suivant 123 456 789 321
si j'ai un chiffre du type 12 ou 123456 le script devrait également le reconnaitre.
je sais qu'il faut utiliser les expressions regulières mais je ne suis pas un caïd en la matière.
si quelqu'un peut m'aider....merci
A voir également:

6 réponses

Utilisateur anonyme
14 avril 2003 à 20:17
euh... quel langage?

kinder.surprise,
le maton du matou
0
Utilisateur anonyme
14 avril 2003 à 21:00
Salut,
Tu parles d'expressions régulieres, je suppose que c'est du php...
Va voir ici: http://www.php.net/manual/fr/function.ereg.php

Kalamit,
La nuit, tous les chats sont gris. Pas les poulets ! :@)
0
najkaj Messages postés 12 Date d'inscription lundi 14 avril 2003 Statut Membre Dernière intervention 17 août 2004
15 avril 2003 à 00:51
c'est bien en php...je vais voir l'adresse que tu m'as donné.
merci
0
najkaj Messages postés 12 Date d'inscription lundi 14 avril 2003 Statut Membre Dernière intervention 17 août 2004
15 avril 2003 à 01:38
Bin c cool :)
ça m'a permis de faire ça et ça répond à ma question !
si jamais vous avez plus simple, dites moi !


function Ch_tab($montant)
{


// pattern 123 456 789 321 ou 12 345 678 321 ou 1 234 567 321
if ( ereg( "([0-9]{3})([0-9]{3})([0-9]{3})([0-9]{3})", $montant, $newmontant ) or ereg( "([0-9]{2})([0-9]{3})([0-9]{3})([0-9]{3})", $montant, $newmontant ) or ereg( "([0-9]{1})([0-9]{3})([0-9]{3})([0-9]{3})", $montant, $newmontant ))
{ $new_montant = "$newmontant[1].$newmontant[2].$newmontant[3].$newmontant[4]"; }

// pattern 123 456 789 ou 12 345 678 ou 1 234 567
elseif ( ereg( "([0-9]{3})([0-9]{3})([0-9]{3})", $montant, $newmontant ) or ereg( "([0-9]{2})([0-9]{3})([0-9]{3})", $montant, $newmontant ) or ereg( "([0-9]{1})([0-9]{3})([0-9]{3})", $montant, $newmontant))
{ $new_montant = "$newmontant[1].$newmontant[2].$newmontant[3]"; }

// pattern 123 456 ou 12 345 ou 1 234
elseif ( ereg( "([0-9]{3})([0-9]{3})", $montant, $newmontant ) or ereg( "([0-9]{2})([0-9]{3})", $montant, $newmontant ) or ereg( "([0-9]{1})([0-9]{3})", $montant, $newmontant ))
{ $new_montant = "$newmontant[1].$newmontant[2]"; }

// pattern 123 ou 12 ou 1
elseif ( ereg( "([0-9]{3})", $montant, $newmontant ) or ereg( "([0-9]{2})", $montant, $newmontant ) or ereg( "([0-9]{1})", $montant, $newmontant ))
{ $new_montant = "$newmontant[1]"; }

return $new_montant;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
15 avril 2003 à 02:49
ouh là!

number_format() est ton ami!

$toc=12345678912345;
echo number_format($toc, 2, ",", " ");

//sortie: 12 345 678 912 345,00

le premier argument, c'est le nombre
le second, c'est la précision derrière la virgule
le troisième, c'est le séparateur décimal
le quatrième, c'est le séparateur de milliers

$toc=12345678.912345;
echo number_format($toc, 0, ".", "-");

//sortie: 12-345-679

pour ton cas, tout simplement:

$toc=12345678; /*par exemple, ça peut être 12 ou 121212 ou 12121212*/
echo number_format($toc, 0, ".", " ");

//sortie: 12 245 678

c'est pas plus compliqué, ça tient en une ligne pour tous tes cas de figure que tu as cités, t'as juste à préciser un séparateur de milliers (-:

kinder.surprise,
le maton du matou
0
najkaj Messages postés 12 Date d'inscription lundi 14 avril 2003 Statut Membre Dernière intervention 17 août 2004
15 avril 2003 à 10:14
Effectivement, c'est pas plus compliqué :D
C'est même mille fois plus simple.
Génial !
Merci beaucoup.

L'expérience est une lanterne qui n'éclaire que le chemin parcouru.
Confucius
0