Arrondir une valeur

Theophile76 Messages postés 2115 Statut Membre -  
Pitet Messages postés 2845 Statut Membre -
Bonjour,
J'ai un code php qui me donne une valeur (le total de "share" d'un article) :

<?php echo total(get_permalink( $post->ID )); ?>


Je voudrais arrondir cette valeur en utilisant des "K" et de "M"
(exemple : 12 555 donnerai 12,2k etc.)

J'ai trouvé une piste avec le code que voici mais étant débutant je ne sais pas du tout quoi en faire. J'ai essayé de "bidouiller" mais sans succès.

if ($value > 999 && $value <= 999999) {
    $result = floor($value / 1000) . ' K';
} elseif ($value > 999999) {
    $result = floor($value / 1000000) . ' M';
} else {
    $result = $value;
}


Pourriez vous m'aider ?
Merci.



--
On s'ennuie pas avec l'informatique :)

3 réponses

  1. Kaldoran Messages postés 146 Statut Membre 29
     
    Salut,

    Voici une facon assez simple en reprenant ton code :

    function shortIt($value = 0 ) {
      if ($value > 999 && $value <= 999999) {
        $result = floor($value / 1000) . ' K';
      } elseif ($value > 999999) {
        $result = floor($value / 1000000) . ' M';
      } else {
        $result = $value;
      }
      return $result;
    }
    
    

    Tu met la fonction dans un fichier appart ou au debut de ton code puis :

    <?php echo shortIt(total(get_permalink( $post->ID ))); ?>
    
    0
  2. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    Bonjour,

    Vous avez aussi la fonction round():

    <?php
    echo round(3.4);         // 3
    echo round(3.5);         // 4
    echo round(3.6);         // 4
    echo round(3.6, 0);      // 4
    echo round(1.95583, 2);  // 1.96
    echo round(1241757, -3); // 1242000
    echo round(5.045, 2);    // 5.05
    echo round(5.055, 2);    // 5.06
    ?>
    
    0