Home >Backend Development >PHP Tutorial >In-depth analysis of the formatting use of printf() function in PHP, in-depth analysis of printf_PHP tutorial
The advantage of printf() function is that it can format the output!
The complete format of printf format control:
% - 0 m.n l or h format character
The items that make up the format description are explained below:
①%: The starting symbol indicating the format description, indispensable.
②-: If - indicates left-aligned output, if omitted, it indicates right-aligned output.
③0: If there is 0, it means that the specified blank is filled with 0. If it is omitted, it means that the specified blank is not filled.
④m.n: m refers to the field width, that is, the number of characters occupied by the corresponding output item on the output device. N refers to precision. The number of decimal places used to describe the output real number. When n is specified, the implicit precision is n=6 digits.
⑤l or h:l refers to long type for integer type and double type for real type. h is used to correct the format character of integer type to short type.
————————————————————————————————————————————————————————————
Format characters
Format characters are used to specify the data type and output format of the output item.
①d format: used to output decimal integers. There are several usages:
%d: Output according to the actual length of integer data.
%md: m is the width of the specified output field. If the number of data digits is less than m, spaces will be added to the left end. If it is greater than m, the actual number of digits will be output.
%ld: Output long integer data.
②o format: Output the integer in unsigned octal form. Long integers can be output in "%lo" format. You can also specify the field width to output in "%mo" format.
Example:
main() { int a = -1; printf("%d, %o", a, a); }
Run result: -1,177777
Program analysis: -1 in the memory unit (stored in complement form) is (1111111111111111)2, and converted to octal number is (177777)8.
③x format: Output integers in unsigned hexadecimal form. Long integers can be output in "%lx" format. You can also specify the field width to output in "%mx" format.
④u format: Output integers in unsigned decimal form. Long integers can be output in "%lu" format. You can also specify the field width to output in "%mu" format.
⑤c format: Output one character.
⑥s format: used to output a string. There are several ways to use it
%s: For example: printf("%s", "CHINA") outputs the "CHINA" string (excluding double quotes).
%ms: The output string occupies m columns. If the length of the string itself is greater than m, the limit of m will be exceeded and all the strings will be output. If the string length is less than m, spaces are left padded.
%-ms: If the string length is less than m, within the range of m columns, the string is moved to the left and spaces are padded to the right.
%m.ns: The output occupies m columns, but only takes the n characters from the left end of the string. These n characters are output on the right side of column m, padded with spaces on the left.
%-m.ns: where m and n have the same meaning as above, n characters are output on the left side of the m column range, and spaces are padded on the right. If n>m, the n value is automatically taken, that is, n characters are guaranteed to be output normally.
⑦f format: used to output real numbers (including single and double precision) in decimal form. There are several usages:
%f: No width specified, all integer parts are output and 6 decimal places are output.
%m.nf: The output occupies a total of m columns, including n decimal places. If the width of the value is less than m, pad the left end with spaces.
%-m.nf: The output occupies a total of n columns, including n decimal places. If the value width is less than m, add spaces at the right end.
⑧e format: Output real numbers in exponential form. The following forms are available:
%e: The numerical part (also called the mantissa) outputs 6 decimal digits, and the exponent part occupies 5 or 4 digits.
%m.ne and %-m.ne: The meanings of m, n and "-" characters are the same as before. Here n refers to the number of decimal places in the digital part of the data, and m represents the width of the entire output data.
⑨g format: Automatically select the shorter one of f format or e format for output, and do not output meaningless zeros.
————————————————————————————————————————————————————————————
Further explanation about the printf function:
If you want to output the character "%", you should use two consecutive % in the "format control" string, such as:
printf("%f%%", 1.0/3);
Output 0.333333%.
————————————————————————————————————————————————————————————
For single-precision numbers, when using the %f format character to output, only the first 7 digits are significant digits and there are 6 decimal digits.
For double precision numbers, when output using the %lf format character, the first 16 digits are significant digits and there are 6 decimal digits.
The above in-depth analysis of the formatting use of the printf() function in PHP is all the content shared by the editor. I hope it can give you a reference, and I hope you will support Bangkejia.