用法: string sprintf(string format, mixed [args]…);
传回值:字串
函式种类:资料处理
内容说明:本函式用来将字串格式化。参数 format 是转换的格式,以百分比符号 % 开始到转换字符为止。
在转换的格式间依序包括了:
- 处理字符方向。-负号时表时从后向前处理。
- 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。
- 字符宽度。注意:这里是指字符的最小总宽度。
- 精确度。指在小数点后的浮点数位数。
型态,见下表:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
转换字符
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
% 印出百分比符号,不转换。
b 整数转成二进位。
c 整数转成对应的 ASCII 字元。
d 整数转成十进位。
f 倍精确度数字转成浮点数。
o 整数转成八进位。
s 整数转成字串。
x 整数转成小写十六进位。
X 整数转成大写十六进位。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
使用范例
1 |
|
这个 %01.2f 是什么意思呢?
首先,这个 % 符号是开始的意思,他写在最前面表示指定格式要开始了,也就是 “起始字符”,直到出现“转换字符”为止,就算格式终止。
然后跟在 % 符号后面的是0,这个零表示 “填空字元”,如果位置空着就用0来填满。
在0后面的是1,这个1是规定最终字符串的输出长度。
到目前,在 %01 后面的 .2 (点2) 就很好理解了,它的意思是规定小数点后的数字必需占2位。如果这时候,$money 的值为 1.234,则 $formatted 的值将为 1.23。
为什么 4 不见了呢? 因为,在小数点后面 按照上面的规定,必需且仅能占2位。可是 $money 的值中,小数点占了3位,所以,4被去掉了,只剩下23。
最后,以 f “转换字符”结尾,其他转换字符请自行参考上面的转换字符列表。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
1 |
|
%08.2f 解释:
%开始符
0是 “填空字元” 表示,如果长度不足时就用0来填满。
6格式化后总长度
2f小数位长度,即2位第4行值为”00123.10” 解释:
因为2f是(2位)+小数点符号(1)+前面123(3位)=6位,总长度为8位,故前面用[填空字元]0表示,即00123.10第4行值为”-123.1000” 解释:
-号为反向操作,然后填空字元0添加在最后面了。