Je veux utiliser Perl's sprintf à zerofill une variable.
sprintf("%08d", $var);
3 Réponses :
Le premier argument à Sprintf est juste une chaîne:
my $zerofill = 9; my $number = 1000; my $filled = sprintf "%0${zerofill}d", $number;
sprintf code> et
printf code> prend en charge la notation
* code> (ceci a fonctionné depuis au moins 5,8):
Je devais faire quelque chose de légèrement différent: zéro tampon une valeur de point flottante et obtenez une longueur exacte.
Dans mon cas, j'ai besoin exactement de 12 octets, y compris le point décimal. Il est légèrement plus difficile que ce que vous avez ci-dessus. Ici, c'est au cas où quelqu'un en a besoin: p>
Say $ INPUTVAL est une chaîne passée de quelque part avec une valeur comme 1001.1 em>. Notez qu'il devrait comporter moins de 12 caractères pour que cela fonctionne de manière fiable p>