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 :

Enlever les chiffres apres Décimales (29.72 -> 29) [Fait] [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 23
    Points
    23
    Par défaut Enlever les chiffres apres Décimales (29.72 -> 29)
    Bonjours, je recherche une solution afin d'enlever d'un nombre les chiffres après la décimale.

    Exemple:
    29.72 doit donner 29
    32.22 doit donner 32

    Attention: Ce nombre ne doit pas être arrondis, mais que conservé les chiffre avant la virgule ! (Comme un peux un int)

    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    bah un peu violent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $nb = explode('.', $nombre); //on explose la chaine au niveau du point
    $entier = $nb[0]; //on recupere la premiere caine, situee avant le point
    bien sur echo $nb[0] est plus efficace que de laffecter ds une autre variable niveau temps de traitement serveur

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Il existe aussi la solution RegEx :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    preg_match('#([0-9])+\.[0-9]#',$nombre,$recup);
    echo $recup[1];

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 13
    Points : 16
    Points
    16
    Par défaut avec round() non?
    Ou le mieux, tu demande un arrondissement du nombre decimal en faisant appel à la fonction round(). Elle va te retourner un joli petit entier.

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 121
    Points : 127
    Points
    127
    Par défaut
    Salut,

    Tu peu aussi faire $nbre=(int)$nbre;

  6. #6
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    tu as aussi la fonction number_format()

    as toi de trouver la solution qui te convient le mieux dans toutes celles ci
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  7. #7
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 57
    Points
    57
    Par défaut HaHem :x
    Bonjour!

    Ainsi que:
    • floor();
    • cell();


    En bref, les bonnes vieilles fonction mathématique éxistant dans la plus part des langages de programmation ^^.

    Bonne continuation!

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    round() n'est pas trop la solution puisque ça arrondira à l'entier supérieur et c'est ce qu'il veut pas. floor peut faire l'affaire puisque ca arrondit à l'entier inférieur ce qui correspond obligatoirement à la partie entière.

    Pour voir des exemples avec la fonction number_format comme c'est dit plus haut : Comment formater un nombre décimal pour l'affichage ?

  9. #9
    Invité(e)
    Invité(e)
    Par défaut d'ou vienne tes valeurs
    Citation Envoyé par unclebob
    Bonjours, je recherche une solution afin d'enlever d'un nombre les chiffres après la décimale.

    Exemple:
    29.72 doit donner 29
    32.22 doit donner 32

    Attention: Ce nombre ne doit pas être arrondis, mais que conservé les chiffre avant la virgule ! (Comme un peux un int)

    Merci
    si tes valeurs viennent d'une requete sql , formatte les avec ca

    select elt(LOCATE('.','99.1'),'99.1',substring('9.1',1,1),substring('99.1',1,2))

    en sachant que 99.1 et 99.1 est ton champ


  10. #10
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Non, vraiment, ce n'est pas compliqué... Tu as deux solutions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $var2 = (int)$var1; // un cast classique
    $var2 = intval($var1); // mon favori

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

Discussions similaires

  1. Supprimer les chiffres après la virgule
    Par vbword dans le forum VBA Word
    Réponses: 5
    Dernier message: 27/10/2015, 14h41
  2. Arrondir les chiffres après la virgule
    Par laurent23 dans le forum MATLAB
    Réponses: 2
    Dernier message: 20/06/2011, 12h06
  3. Réponses: 2
    Dernier message: 11/12/2008, 14h00
  4. Limiter les chiffres après virgule
    Par Kalvin_20 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/05/2008, 16h39
  5. division qui conserve les chiffres après la virgule
    Par ali.ensi dans le forum Débuter
    Réponses: 3
    Dernier message: 05/10/2007, 13h26

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