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 :

Séparateur de milliers sans changer les décimales


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 25
    Points
    25
    Par défaut Séparateur de milliers sans changer les décimales
    Bonjour,

    Après avoir écumé ce forum et Google, je m'en remet à la communauté.

    Mon problème est simple, je veux mettre un espace comme séparateur de milliers mais ne pas toucher aux décimales de mes chiffres.
    Je pensais résoudre rapidement le problème avec number_format
    http://fr2.php.net/manual/fr/function.number-format.php
    Mais ce dernier n'accepte pas string number_format ( float $number , string $thousands_sep ) selon la doc.

    ex: 10000.8 doit me retourner 10 000.8
    76900.94 doit me retourner 76 900.94

    Une piste à me proposer, des regex ou si possible une fonction que j'aurais loupé

    Cordialement

    gratiert

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pourrais-tu être plus précis sur ce que tu as fais avec number_format et en quoi ca ne reponds pas à tes attentes ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    J'ai une série de nombre avec des chiffres
    10.6, 58.9, 10000, 15009.87, 76

    Si je fais un number_format(chaqueelementdemaserie, 2,"."," "), j'aurais un retour du type 10.60, 58.90, 10 000.00, 15 009.87, 76.00

    Cela ne correspond pas à ce que je souhaite qui est
    10.6, 58.9, 10 000, 15 009.87, 76

    Il n'existe pas selon la doc de cette fonction une possibilité de choisir seulement le séparateur des milliers, il me faut une méthode alternative à cette fonction.

    Ma demande est plus claire?

    gratiert

  4. #4
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Ce commentaire de la doc pourrait t'intéresser
    http://fr.php.net/manual/fr/function...rmat.php#68783
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    Merci pour ce snippet, exactement ce que je cherchais.
    Il comportait une petite erreur, il fallait remplacer le code $in par $number
    Le snippet 100% fonctionnel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?
    function formatNumber( $number, $decimals=2, $dec_point=".", $thousands_sep=" ") {
        $nachkomma = abs($number - floor($number));	
        $strnachkomma = number_format($nachkomma , $decimals, ".", " ");
        for ($i = 1; $i <= $decimals; $i++) {
            if (substr($strnachkomma, ($i * -1), 1) != "0") {
                break;
            }
        }
     
        return number_format($number, ($decimals - $i +1), $dec_point, $thousands_sep);
    }
     
     
    echo formatNumber(10000.5420,2,","," ")
     
    ?>

    Cordialement

    gratiert

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/05/2010, 12h15
  2. Réponses: 7
    Dernier message: 08/02/2010, 22h02
  3. Comment réinstaller sans changer les utilisateurs ?
    Par gifffftane dans le forum Administration système
    Réponses: 4
    Dernier message: 08/08/2007, 18h55
  4. changer la base sans changer les enregistrements
    Par patgame dans le forum Modélisation
    Réponses: 2
    Dernier message: 22/07/2007, 06h22
  5. [EXCEL] copier une feuille sans changer les liaisons
    Par DidRocks dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/09/2005, 13h29

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