Maison  >  Article  >  développement back-end  >  Explication détaillée du formatage de la fonction printf() en PHP

Explication détaillée du formatage de la fonction printf() en PHP

*文
*文original
2017-12-29 18:53:051734parcourir

Aujourd'hui, je vais vous proposer une analyse approfondie de l'utilisation du formatage de la fonction printf() en PHP. L'éditeur pense que c'est plutôt bien, alors je vais le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur pour y jeter un œil, j'espère que cela sera utile à tout le monde.

L'avantage de la fonction printf() est qu'elle peut formater la sortie !

Le format complet contrôlé par le format de printf :

% - 0 caractères de format m.n l ou h

Les éléments qui composent la description du format sont expliqués ci-dessous :

①% : représente le symbole de départ de la description du format, qui est indispensable.

②- : Si - indique une sortie alignée à gauche, s'il est omis, il indique une sortie alignée à droite.

③0 : S'il y a 0, cela signifie que le blanc spécifié est rempli avec 0. S'il est omis, cela signifie que le blanc spécifié n'est pas rempli.

④m.n : m fait référence à la largeur du champ, c'est-à-dire le nombre de caractères occupés par l'élément de sortie correspondant sur le périphérique de sortie. N fait référence à la précision. Le nombre de décimales utilisées pour décrire le nombre réel de sortie. Lorsque n est spécifié, la précision implicite est n=6 chiffres.

⑤l ou h : l fait référence au type long pour le type entier et au type double pour le type réel. h est utilisé pour corriger le caractère de format du type entier en type court.

——————————————————————————————————————————— ——————————————
Caractères de format

Les caractères de format sont utilisés pour spécifier le type de données et le format de sortie de l’élément de sortie.

①format d : utilisé pour sortir des entiers décimaux. Il existe les utilisations suivantes :

%d : Sortie en fonction de la longueur réelle des données entières.

%md : m est la largeur du champ de sortie spécifié. Si le nombre de chiffres de données est inférieur à m, des espaces seront ajoutés à l'extrémité gauche. S'il est supérieur à m, le nombre réel de chiffres sera affiché.

%ld : Produisez des données entières longues.

②o format : affiche un entier sous forme octale non signée. Les entiers longs peuvent être générés au format "%lo". Vous pouvez également spécifier la largeur du champ à afficher au format "%mo".

Exemple :

main() 
{ int a = -1; 
printf("%d, %o", a, a); 
}

Résultat d'exécution : -1,177777

Analyse du programme : -1 dans l'unité mémoire (stockée sous forme de complément) est (1111111111111111) 2 , converti en nombre octal est (177777)8.

③x format : affiche l'entier sous forme hexadécimale non signée. Les entiers longs peuvent être générés au format "%lx". Vous pouvez également spécifier la largeur du champ à afficher au format "%mx".

④u format : affiche un entier sous forme décimale non signée. Les entiers longs peuvent être générés au format "%lu". Vous pouvez également spécifier la largeur du champ à afficher au format "%mu".

Format ⑤c : affiche un caractère.

⑥s format : utilisé pour sortir une chaîne. Il existe plusieurs utilisations de

%s : Par exemple : printf("%s", "CHINA") affiche la chaîne "CHINA" (à l'exclusion des guillemets doubles).

%ms : La chaîne de sortie occupe m colonnes si la longueur de la chaîne elle-même est supérieure à m, la limite de m sera dépassée et toutes les chaînes seront sorties. Si la longueur de la chaîne est inférieure à m, les espaces sont laissés remplis.

%-ms : Si la longueur de la chaîne est inférieure à m, alors dans la plage de m colonnes, la chaîne sera déplacée vers la gauche et les espaces seront complétés vers la droite.

%m.ns : La sortie occupe m colonnes, mais ne prend que les n caractères à partir de l'extrémité gauche de la chaîne. Ces n caractères sont affichés sur le côté droit de la colonne m, complétés par des espaces à gauche.

%-m.ns : où m et n ont la même signification que ci-dessus, n caractères sont affichés sur le côté gauche de la plage de m colonnes et les espaces sont complétés à droite. Si n>m, la valeur n est automatiquement prise, c'est-à-dire que n caractères sont garantis comme étant émis normalement.

⑦format f : utilisé pour générer des nombres réels (y compris simple et double précision) sous forme décimale. Il existe plusieurs utilisations :

%f : Aucune largeur n'est spécifiée, toutes les parties entières sont affichées et 6 décimales sont affichées.

%m.nf : La sortie occupe un total de m colonnes, avec n décimales. Si la largeur de la valeur est inférieure à m, ajoutez des espaces à l'extrémité gauche.

%-m.nf : La sortie occupe n colonnes au total et il y a n décimales. Si la largeur de la valeur est inférieure à m, des espaces seront ajoutés à droite.

⑧e format : affiche des nombres réels sous forme exponentielle. Les formes suivantes sont disponibles :

%e : La partie numérique (également appelée mantisse) génère 6 chiffres décimaux et la partie exposant occupe 5 ou 4 chiffres.

%m.ne et %-m.ne : Les significations des caractères m, n et "-" sont les mêmes qu'auparavant. Ici, n fait référence au nombre de décimales dans la partie numérique des données et m représente la largeur de l'ensemble des données de sortie.

⑨format g : sélectionnez automatiquement le format le plus court parmi le format f ou le format e pour la sortie, et n'émettez pas de zéros dénués de sens.

——————————————————————————————————————————— ——————————————
À propos de printf Explication plus détaillée de la fonction :

Si vous souhaitez afficher le caractère "%", vous devez utiliser deux % consécutifs dans le Chaîne de "contrôle de format", telle que :

printf("%f% %", 1.0/3);

output 0,333333%.

——————————————————————————————————————————— ————————————————
Pour un numéro de précision unique, lors de la sortie à l'aide du caractère au format %f, seuls les 7 premiers chiffres sont des chiffres significatifs et la décimale est 6.

Pour les nombres à double précision, lors de la sortie en utilisant le caractère au format %lf, les 16 premiers chiffres sont des chiffres valides et il y a 6 décimales.

Recommandations associées :

Remarque sur les fonctions PHP

Quelles sont les différences entre les trois fonctions var_dump, var_export et print_r en php ? () print_r() var_dump() partage de différence

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn