原文地址: http://home.blueidea.com/space.php?uid=123689&do=blog&id=9393
sprintf(参数1,参数2,参数3...n)
刚才看了一些文档,总结了一下..通俗地来写一写:
1.这个函数处理一些字符串,输出一个字符串
2.参数1里面必须包含一种奇怪的格式如%s,%08.3f等等..我暂时就学了这点..
3.后面的参数2,直到参数n(如果有的话),每一个都对应这着前面参数1里的一个怪格式(就是%开头的),用这个怪格式做规则,对它(参数2到参数n)进行格式化处理.
4.所以怪格式的个数一定不能多于后面的参数个数,否则php不知道要格式化哪个字符,会报错.
5.关于怪格式的说明:
组成:%开头,一个字母来结尾,中间可能会夹一些点啊数字啊什么的.见前面.
这个字母不是随便写的(废话),有意义,具体意义见文章末尾(抄的).
中间的点和数字(如果有的话)的含义:
用上面的%08.3f来做说明:
首先%开头.
紧接着的0表示"空格填0",也就是说比如你格式化后的字符串长度是8,但是本身没那么长,就用0来补上.
下面的8是格式化后的字符的最小宽度,最小的意思我还没领悟,先理解成总的宽度吧(包括小数点——如果有的话).
然后.3表示小数点后面保留3位,不够就按前面的空格填0,多出就截掉.
最后的f意义见最后.
最后抄一段手册:
sprintf
将字符串格式化。
语法: string sprintf(string format, mixed [args]...);
返回值: 字符串
函数种类: 资料处理
内容说明
本函数用来将字符串格式化。参数 format 是转换的格式,以百分比符号 % 开始到转换字符为止。而在转换的格式间依序包括了
填空字符。0 的话表示空格填 0;空格是默认值,表示空格就放着。
对齐方式。默认值为向右对齐,负号表向左对齐。
字段宽度。为最小宽度。
精确度。指在小数点后的浮点数位数。
类型,见下表 % 印出百分比符号,不转换。
b 整数转成二进位。
c 整数转成对应的 ASCII 字符。
d 整数转成十进位。
f 倍精确度数字转成浮点数。
o 整数转成八进位。
s 整数转成字符串。
x 整数转成小写十六进位。
X 整数转成大写十六进位。
使用范例
<?
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// 此时变量 $money 值为 "123.1";
$formatted = sprintf ("%01.2f", $money);
// 此时变量 $ formatted 值为 "123.10"
?>
------------------
补充:
http://skywz.blogbus.com/logs/32633649.html这篇文章讲得比较清除.