$s="aiden";
$num1=123;
$num2=124.35;
$num3=100;
printf("I'm%-'*6s",$s); //- 号只能跟自己的左右调换位置 , 当类型为字符串或整型时 , 小小数点后的数字代表最大宽度 , 小数点前的数字代表最小宽度。当小数点后的数字小于小数点前的数字时 , 截取小数点后数字的位数 , 并填充到小数点前数字的位数
print("<Br/>");
printf("$%0-9d",$num1); // 输出整型时 , 不用用 - 号设置左对齐 , 只能用默认的右对齐
echo("<br/>");
printf("$%'*3.1f",$num2); // 整数做浮点输出时 , 不指定小数位数时 , 后面自动加 0, 直到达到 6 位小数 , 输出为数字型时 , 填充为不是数字的无效
printf 跟 sprintf 的用法 :
1.printf() 函数优点在于可以格式化输出 !
格式如下 :%['padding_character][-][width][.precision]type
所有的转换说明都是以 % 开始 , 如果想打印一个 % 符号 , 必须用 %%.
参数 'padding_character 是可选 . 它将被用来填充变量直至所指定的宽度 . 该参数的作用就在变量前面填充 . 默认的填充字符是一个空格 , 如果指定 0 或者空格 , 就不需要 ' 单引号作为前缀 , 其他字符就必须指定 ' 作为前缀 .
参数 - 是可选 . 它指左对齐 , 默认是右对齐 .
参数 width 是指定字符输出的长度 .
参数 precision 表示以小数点开始 . 它指明小数点后要显示的位数 .
参数 type 是类型码 , 请看下表 :
类型 | 含义
b| 解释为整数并作为二进制输出 .
c| 解释为整数并作为字符表示输出 (ASCII 码 ).
d| 解释为整数并作为整数输出 .
f| 解释为双精度并作为浮点数输出 .
o| 解释为整数并作为八进制数输出 .
s| 解释为字符串并为字符串输出 .
u| 解释为整数并作为非指定小数输出 .
x| 解释为整数并作为带有小写字母 a-f 的十六进制数输出
X| 解释为整数并作为带有大写字母 A-F 的十六进制数输出
2. 如果字符串的长度、或整型数位数超过说明的场宽 , 将按其实际长度输出。
但对浮点数 , 若整数部分位数超过了说明的整数位宽度 , 将按实际整数位输出 ;
若小数部分位数超过了说明的小数位宽度 , 则按说明的宽度以四舍五入输出。
如果用浮点数表示字符或整型量的输出格式 , 小数点后的数字代表最大宽度 , 小数点前的数字代表最小宽度。
例如 : %6.9s 表示显示一个长度不小于 6 且不大于 9 的字符串。若大于 9, 则第 9 个字符以后的内容将被删除。
3.. 可以在 "%" 和字母之间加小写字母 l, 表示输出的是长型数。
例如 : %ld 表示输出 long 整数
%lf 表示输出 double 浮点数
2. 一些特殊规定字符
b 字符 作用
/n 换行
/f 清屏并换页
/r 回车
/t Tab 符
/xhh 表示一个 ASCII 码用 16 进表示 ,
其中 hh 是 1 到 2 个 16 进制数