sprintf
1.定义
sprintf() 函数将字符串进行各种类型的格式化。
2.语法
sprintf(format,arg1,arg2,arg++)
- format:格式类型。
- arg1,arg2,arg++:需要被查到被格式化字符串中的1到若干个参数。
format参照表
format | 说明 |
---|---|
%% | 返回一个百分号 % |
%b | 二进制数 |
%c | ASCII 值对应的字符 |
%d | 包含正负号的十进制数(负数、0、正数) |
%e | 使用小写的科学计数法(例如 1.2e+2) |
%E | 使用大写的科学计数法(例如 1.2E+2) |
%u | 不包含正负号的十进制数(大于等于 0) |
%f | 浮点数(本地设置) |
%F | 浮点数(非本地设置) |
%g | 较短的 %e 和 %f |
%G | 较短的 %E 和 %f |
%o | 八进制数 |
%s | 字符串 |
%x | 十六进制数(小写字母) |
%X | 十六进制数(大写字母) |
附加的格式值,必需放置在 % 和字母之间(例如 %.2f)。
- +(在数字前面加上 + 或 - 来定义数字的正负性。默认情况下,只有负数才做标记,正数不做标记)
- '(规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。例如:%'x20s(使用 "x" 作为填充))
- -(左调整变量值)
- [0-9](规定变量值的最小宽度)
- .[0-9](规定小数位数或最大字符串长度)
3.示例
3.1将1补位成为001。
$num = 1; $spf = sprintf("%'03d", $num); // '后面是0表示用0补位,3是新字符串宽度 var_dump($spf); // string(3) "001"
3.2总宽度为3且只保留2位,并用[]括起来。
$str = '12345'; $spf = sprintf("[%3.2s]", $str); // 3表示宽度为3,宽度不足左边补位,若-3则右边补位;.2表示从左往右取两位。 var_dump($spf); // string(5) "[ 12]" 默认空格补位,空格补位再多只显示一个空格。