Comment abréger un nombre en JavaScript ?

Réponses rédigées par Antoine
Dernière mise à jour : 2022-05-05 13:18:32
Thèmes : javascript - nombre
Question

Comment faire pour abréger un nombre en JavaScript ? Par exemple je voudrais que 1955 soit abrégé en 2K, ou que 195502 soit abrégé en 0.2M, etc, merci.

Réponse

Il n'existe pour l'instant pas de fonction JavaScript native pour abréger un nombre. Il faut donc créer soi-même la fonction.

Pour créer une fonction pour abréger un nombre en JavaScript, il faut :

  • Définir un tableau avec la liste des abréviations.
  • Obtenir le nombre de chiffres total via la propriété length.
  • Diviser le nombre de chiffres par trois pour obtenir un exposant arrondi.
  • Utiliser la fonction Math.pow() et la méthode toPrecision() pour obtenir le nombre avec la précision voulue (base mille et exposant).
  • Ajouter la lettre à la valeur abrégée obtenue.

Voici comment abréger un nombre avec JavaScript :

<!DOCTYPE html> 
<html> 
<head>
<meta charset="UTF-8">
<title>Comment abréger un nombre en JavaScript ?</title>
</head>
<body>
<script>
function abregerNombre(nombre)
{
  var abreviation = ["", "k", "m", "b", "t"];
  var sNombre = Math.floor(("" + nombre).length / 3);
  var sValeur = parseFloat((sNombre != 0 ? (nombre / Math.pow(1000, sNombre)) : nombre).toPrecision(2));
  if (sValeur % 1 != 0) 
  {
    sVal = sValeur.toFixed(1);
  }
  return sValeur + abreviation[sNombre];
}
var nombre = 1955;
alert(abregerNombre(nombre));
</script>
</body>
</html>