Home >Backend Development >PHP Tutorial >Study notes on the sprintf() function in PHP_PHP tutorial
sprintf Format the string. Syntax: string sprintf(string format, mixed [args]...); Return value: string Function type: Data processing Content description This function is used to format strings. The parameter format is the format of the conversion, starting with the percent sign % and ending with the conversion character. The converted formats include 1. Fill in the blank characters. If 0, it means that the blanks are filled with 0; the blanks are the default value, which means that the blanks are left alone. 2. Alignment. The default is right-aligned, and the negative sign table is left-aligned. 3. Field width. is the minimum width. 4. Accuracy. Refers to the number of floating point digits after the decimal point. Type, see the table below =-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Example =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-=-=- Usage Example =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-=-=- What does this %01.2f mean? First of all, the % symbol means the beginning. It is written at the front to indicate that the specified format is about to start. That is, the "start character", until the "conversion character" appears, the format ends. Then what follows the % symbol is 0. This zero is a "fill-in-the-blank character". If the position is empty, fill it with 0. If you change 1 to 2 and the value of $money is 1.23, the value of $formatted will be 01.23 So far, the .2 (point 2) after %01 is easy to understand. It means that it is stipulated that the number after the decimal point must occupy 2 digits. If at this time, the value of $money is 1.234 , then the value of $formatted will be 1.23. Finally, it ends with f "conversion character". For other conversion characters, please refer to the conversion character list above. About Alignment If - (minus sign) is added after the % starting symbol, the numbers will be processed in a right-justified manner. Lie Zi At this time, $formatted will no longer be 01.40 but 1.400
Convert characters
=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-
% Prints the percent symbol without conversion.
b Convert integer to binary.
c Convert integer to corresponding ASCII character.
d Convert integer to decimal.
F times precision numbers are converted to floating point numbers.
o Convert integer to octal.
s Convert integers to strings.
x integer is converted to lower case hexadecimal.
X Convert integer to uppercase hexadecimal.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=-=-=-=-=-=-
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// At this time, the value of variable $money is "123.1";
$formatted = sprintf ("%01.2f", $money);
//At this time, the value of variable $formatted is "123.10"
?>
After 0 is 1. This 1 is a stipulation that the number before the decimal point must occupy more than 1 digit.
Because the number before the decimal point only occupies 1 digit. According to the format specified above, the value before the decimal point The number should occupy 2 digits, but now it only has 1 digit, so fill it with 0s.
Why is 4 missing? Because, according to the above regulations, there must and can only be 2 digits after the decimal point. However, in the value of $money, the decimal point occupies 3 digits, so 4 is removed, leaving only 23.
$money = 1.4;
$formatted = sprintf ("%-02.2f", $money);
echo $formatted;
?>