Comment ne .sprintf(“%4.2 f”, valeur) fonction en PHP?

Je travaille par le biais de plus de PHP tutoriels, spécifiquement DevZone PHP 101, et je suis confus par:

echo .sprintf("%4.2f", (2 * $radius * pi()))

J'ai trouvé ce

Je pense que cela signifie produire un virgule flottante champ de quatre postes de large avec deux décimales après la virgule, en utilisant la valeur de la première réussir paramètre.

Qui vient du C/C++ de la ligne de langages de programmation. un sprintf() prend le premier paramètre d'une instruction de mise en forme. Quelque chose en elle de commencer avec un % est un champ spécificateur; tout le reste est juste texte imprimable. Donc, si vous donnez une instruction de mise en forme avec l'ensemble du texte et pas de prescripteurs, il sera imprimé exactement la façon dont il apparaît. Avec les spécificateurs de format, elle a besoin de données pour travailler sur.

Mais après avoir essayé différentes valeurs, je ne suis toujours pas à l'obtenir. Il me semble que, si le but dans ce cas est juste à la limite de la virgule de 2 places de tous, je dois mettre est

.sprintf("%.2f", (2 * $radius * pi()))

Quel est le point de la 4 à l'avant de celui-ci? Dans le Manuel PHP cela me porte à croire qu'il détermine le nombre total de caractères doit être 4 mais (un) ce n'est pas le cas depuis le point décimal rend 5 caractères) et (b) ce n'est pas le cas parce que j'ai essayé de le changer pour un plus grand nombre comme %8.2 f et il n'a pas d'amure les zéros à la fin. Quelqu'un pourrait-il svp mieux expliquer cette.

Merci!

OriginalL'auteur Ryan | 2013-02-08