用户名: 密码: 验证码: 注册           网站地图 高级搜索 RSS订阅 收藏本站
山东十七地市站长联盟信息: 济南 青岛 淄博 枣庄 东营 烟台 潍坊 济宁 泰安 威海 日照 莱芜 临沂 德州 聊城 滨州 菏泽      
您的位置:主页>网络编程>Php编程>

PHP中的sprintf()函数的学习研究笔记

[ 来源: | 作者: | 更新日期:2007-7-19 22:43:41 | 评论 0 条 | 我要投稿 ]

sprintf

将字串格式化。

语法: string sprintf(string format, mixed [args]...); 字串7

传回值: 字串

字串2

函式种类: 资料处理 字串5

内容说明

字串4

本函式用来将字串格式化。参数 format 是转换的格式,以百分比符号 % 开始到转换字符为止。而在转换的格式间依序包括了 字串8

1. 填空字元。0 的话表示空格填 0;空格是内定值,表示空格就放着。 字串4

2. 对齐方式。内定值为向右对齐,负号表向左对齐。

字串7

3. 栏位宽度。为最小宽度。

字串8

4. 精确度。指在小数点后的浮点数位数。 字串5

型态,见下表 字串7

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
转换字符
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
% 印出百分比符号,不转换。
b 整数转成二进位。
c 整数转成对应的 ASCII 字元。
d 整数转成十进位。
f 倍精确度数字转成浮点数。
o 整数转成八进位。
s 整数转成字串。
x 整数转成小写十六进位。
X 整数转成大写十六进位。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

字串1


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

字串4

例子

字串5

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 字串5

使用范例

字串8

<?
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// 此时变数 $money 值为 "123.1";
$formatted = sprintf ("%01.2f", $money);
// 此时变数 $ formatted 值为 "123.10"
?>

字串8

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 字串2

这个 %01.2f 是什么意思呢?

字串8

首先 这个 % 符号是开始的意思,他写在最前面表示指定格式要开始了。 也就是 "起始字符", 直到出现 "转换字符" 为止,就算格式终止。 字串9

然后 跟在 % 符号 后面的是 0 这个零是 "填空字元" 表示,如果位置空着 就用0来填满。
在 0 后面的是 1 这个 1 是规定,小数点前面的数字占位要有1位以上。 字串2

如果把 1 改成 2 如果 $money 的值为 1.23 ,则 $formatted 的值将为 01.23
因为,在小数点前面的数字只占了1位,按照上面所规定的格式,小数点前数字应该占2位,现在只有1位,所以,用0来填满。 字串5

到目前,在 %01 后面的 .2 (点2) 就很好理解了,它的意思是,规定,小数点后的数字,必需占2位. 如果这时候,$money 的值为 1.234,则 $formatted 的值将为 1.23。
为什么 4 不见了呢? 因为,在小数点后面 按照上面的规定,必需且仅能占2位。 可是 $money 的值中,小数点占了3位,所以,4 被去掉了,只剩下 23。

字串7

最后,以 f "转换字符" 结尾,其他转换字符请自行参考上面的转换字符列表。 字串5

关于对齐 字串8

如果在 % 起始符号后面 加上 - (负号) 则,将会把数字以向右对齐的方式进行处理。

字串4

列子 字串5


<?
$money = 1.4; 字串2

$formatted = sprintf ("%-02.2f", $money); 字串8

echo $formatted;
?>

字串2

这时候,$formatted 将不会再是 01.40 而是 1.400 字串8


Tags:研究 笔记 学习 函数 转换 money 字符 格式 小数点 formatted
您的评论
用户名:新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为