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
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
4
5 function NumFormat(nombre, zeros) { var temp = new String(nombre); while ((temp.length < zeros) && (temp = 0 + temp)) {} return temp; }
ça fonctionne du tonnerre sauf au dela de 22 caractères à cause de la notation scientifique 10 puissance 23 retourne
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))
Voyez vous une solution ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part 1.0000000000000001e+23
Partager