IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Ajouter un point dans une chaine pour formater de grands nombres


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut Ajouter un point dans une chaine pour formater de grands nombres
    Bonjour a tous ,

    voila j'éssai en vain depuis quelques temps d'ajouter un point de séparation
    a un chiffre que je récupéré via ma table
    ce chiffre peut aller des milliers au millions ce que je souhaite
    faire c'est ajouter 1 point pour séparer selon les milliers ou les dixaines de milliers ou les centaines de milliers ou 2 points pour les millions
    1.000 / 10.000 / 100.000 / 1.000.000

    j'ai bien essayer avec la fonction strlen de détécter le nombre de caractére que contient ma chaine de facon a lui indiquer a placer un
    parametre (le point) si celle la ete constitué de 4 ou 5 ou 6 caractérés mais sans succées , je n'arrive pas a placer l'argument 4/5/ou6.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $milliers=1000;
    dix_milliers=10000;
    $cent_milliers=100000;
    $million=1000000;
     
    if(strlen($nb)=4)

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 717
    Points : 5 358
    Points
    5 358
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo number_format($nombre, n, ',', '.');
    number_format ( nombre à formater, nombre de décimales , caractère pour la virgule , caractère pour le séparateur de millier )

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    merci pour ta reponse ,
    mais quand je recupere la valeur de $nb je ne connais pas la longueur de son contenue

    et il me faut selon sa longueur placer le point en fonction
    100 ou 1000 ou 10.000 ou 100.000 ou 1.000.000


    j'ai bien trouver ca , mais cela me mais des points a intervale regulier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(strlen($nb) == 5)
    {
    $nb_point =wordwrap($nb,2,".",2); 
    echo " des dixaine de millier<br>";
    echo "$nb_point";  
    }

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 717
    Points : 5 358
    Points
    5 358
    Par défaut
    merci pour ta reponse ,
    mais quand je recupere la valeur de $nb je ne connais pas la longueur de son contenue
    As-tu testé mon code ? number_format se fiche complètement de la longueur du nombre à formater.

    number_format(100, 0, ',', '.') donnera 100
    number_format(1000, 0, ',', '.') donnera 1.000
    number_format(100000, 0, ',', '.') donnera 10.000
    number_format(1000000, 0, ',', '.') donnera 1.000.000

    Edit : petite remarque pourquoi utiliser un point qu'on risque de confondre avec une virgule alors que tu peux utiliser un espace

    number_format(100, 0, ',', ' ')

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    autant pour moi popo

    ton code est parfait et merci pour le petit cours

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 10/02/2010, 08h49
  2. [RegEx] Remplacement et ajout de caractères dans une chaine
    Par Kaldyris dans le forum Langage
    Réponses: 7
    Dernier message: 09/12/2008, 15h02
  3. Supprimer un point dans une chaine de caractères ?
    Par arn.oo dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 23/04/2008, 12h07
  4. Ajouter le caractère " dans une chaine
    Par Zep37 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/02/2008, 13h47
  5. gerer les ' dans une chaine pour eviter erreur sql
    Par Malone dans le forum Langage
    Réponses: 3
    Dernier message: 24/08/2005, 14h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo