Maison >interface Web >js tutoriel >Comment puis-je compléter un nombre avec des zéros non significatifs en JavaScript ?

Comment puis-je compléter un nombre avec des zéros non significatifs en JavaScript ?

DDD
DDDoriginal
2024-12-06 11:38:12406parcourir

How Can I Pad a Number with Leading Zeros in JavaScript?

Remplir un nombre avec des zéros non significatifs en JavaScript

Lorsqu'il s'agit de JavaScript, il est souvent nécessaire de remplir un nombre avec des zéros non significatifs. Par exemple, le nombre 9 devient « 0009 » et 10 devient « 0010 », en adhérant toujours à un format à quatre chiffres.

Méthode Plain-Jane

Une approche simple consiste à soustraire le nombre à partir de 4 pour déterminer le nombre de zéros nécessaire. Bien que fonctionnelle, elle manque de style.

Méthode padStart() d'ES2017

Dans ES2017, la méthode String.prototype.padStart() offre une solution plus élégante. Il ajoute le caractère spécifié (par défaut, un espace) à gauche de la chaîne jusqu'à ce qu'il atteigne la longueur souhaitée.

n = 9;
String(n).padStart(4, '0'); // '0009'

n = 10;
String(n).padStart(4, '0'); // '0010'

Fonction de remplissage générique

Dans les scénarios où padStart() peut ne soit pas une option, une fonction de remplissage générique peut être utilisée :

function pad(n, width, z) {
  z = z || '0';
  n = n + '';
  return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}

Cette fonction utilise la capacité d'un tableau à accepter un nombre comme argument et créez un tableau de cette longueur, rempli d'éléments non définis. Lorsque vous joignez ces éléments avec un zéro (ou un autre caractère spécifié), une chaîne est générée avec le nombre approprié de zéros non significatifs.

Exemple d'utilisation

pad(10, 4);      // 0010
pad(9, 4);       // 0009
pad(123, 4);     // 0123

pad(10, 4, '-'); // --10

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn