Formater un chiffre

najkaj Messages postés 12 Statut Membre -  
najkaj Messages postés 12 Statut Membre -
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

6 réponses

  1. Utilisateur anonyme
     
    euh... quel langage?

    kinder.surprise,
    le maton du matou
    0
  2. najkaj Messages postés 12 Statut Membre
     
    c'est bien en php...je vais voir l'adresse que tu m'as donné.
    merci
    0
  3. najkaj Messages postés 12 Statut Membre
     
    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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Utilisateur anonyme
     
    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
  6. najkaj Messages postés 12 Statut Membre
     
    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