Arrondir une valeur

Theophile76 Messages postés 1817 Date d'inscription   Statut Membre Dernière intervention   -  
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   -
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.


3 réponses

Kaldoran Messages postés 137 Date d'inscription   Statut Membre Dernière intervention   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
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
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
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
0