Double Possible:
Comment puis-je créer un Zerofilled valeur à l'aide de JavaScript?En javascript, j'ai besoin de rembourrage.
Par exemple, si j'ai le numéro 9, il sera "0009". Si j'ai un nombre de 10, il sera "0010". Remarquez comment il sera toujours contenir 4 chiffres.
Une façon de le faire serait de soustraire le nombre moins 4 pour obtenir le nombre de 0s j'ai besoin de mettre.
Je me demandais si il y avait un ciré moyen de le faire.
Réponses
Trop de publicités?Pas beaucoup de "slick" en cours à ce jour:
function pad(n, width, z) {
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}
Lorsque vous initialiser un tableau avec un nombre, il crée un tableau avec l' length
à la valeur de sorte que le tableau semble contenir que nombre undefined
- éléments. Bien que certains Éventail de méthodes d'instance ignorer les éléments du tableau sans valeurs, .join()
n'est pas, ou du moins pas complètement, il les traite comme si leur valeur est la chaîne vide. Ainsi, vous pouvez obtenir une copie du caractère zéro (ou que ce soit "z") entre chacun des éléments du tableau; c'est pourquoi il y a un + 1
.
Exemple d'utilisation:
pad(10, 4); // 0010
pad(9, 4); // 0009
pad(123, 4); // 0123
pad(10, 4, '-'); // --10
ESSAYER
String.prototype.lpad = function(padString, length) {
var str = this;
while (str.length < length)
str = padString + str;
return str;
}
maintenant tester:
var str = "5";
alert(str.lpad("0", 4)); //result "0005"
var str = "10"; // note this is string type
alert(str.lpad("0", 4)); //result "0010"