suite à un post récent sur le forum, je me pencahis sur l'optimisation d'un code pour ajouter des zeros devant un nombre pour en formatter l'affichage

les scripts classiques porposent une boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
function NumFormat(nombre, zeros) {
    var temp = new String(nombre);
    while ((temp.length < zeros) && (temp = 0 + temp)) {}
       return temp;
}
Je me suis donc attaché a faire disparaitre cette boucle au profit de la generation immediate du bon nombre de zeros ...


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
function NumFormat1(nombre, zeros) {
   return new String(1*Math.pow(10,(zeros-nombre.toString().length))).replace(/^.{1}/,'')+new String(nombre);}
alert(NumFormat1(12,22))
ça fonctionne du tonnerre sauf au dela de 22 caractères à cause de la notation scientifique 10 puissance 23 retourne
Voyez vous une solution ?