`
javaeyeren
  • 浏览: 124431 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

PHP 之 函数 sprintf()

阅读更多

PHP 之 函数 sprintf()

将字串格式化。

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

传回值: 字串

函式种类: 资料处理


内容说明


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


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

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

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

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

型态,见下表

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
转换字符
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
% 印出百分比符号,不转换。
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"
?>

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

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

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

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

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

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

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

关于对齐

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

列子


<?
$money = 1.4;

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

echo $formatted;
?>

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

分享到:
评论

相关推荐

    PHP之sprintf函数用法详解

    PHP函数 sprintf() 函数官方定义为:sprintf():把格式化的字符串写入一个变量中 语法为:sprintf(format,arg1,arg2,arg++); 参数: format:必须,转换格式 arg1 :必须,规定插入 format 字符串中第一个%符号处的参数 ...

    PHP数字前补0的自带函数sprintf 和number_format的用法(详解)

    下面小编就为大家带来一篇PHP数字前补0的自带函数sprintf 和number_format的用法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    基于JS实现PHP的sprintf函数实例

    本文实例讲述了基于JS实现PHP的sprintf函数。分享给大家供大家参考,具体如下: 函数如下: [removed] function sprintf() { var arg = arguments, str = arg[0] || '', i, n; for (i = 1, n = arg.length; i &...

    php中sprintf与printf函数用法区别解析

    主要介绍了php中sprintf与printf函数用法区别解析,需要的朋友可以参考下

    php的sprintf函数的用法 控制浮点数格式

    主要介绍了php的sprintf函数的用法,需要的朋友可以参考下

    深入浅析php中sprintf与printf函数的用法及区别

    主要介绍了php中sprintf与printf函数的用法及区别,涉及到printf函数、sprintf函数相关资料,需要的朋友可以参考下

    PHP sprintf()函数用例解析

    php //sprintf()函数,返回值为格式化后的字符串 string sprintf ( string $format [, mixed $args [, mixed $… ]] ) $y = 11; $m = 3; $d = 9; $date = sprinf(‘d-d-d’, $y, $m ,$d); echo $date; //0011-0 //...

    PHP echo,print,printf,sprintf函数之间的区别与用法详解

    1. echo函数: 输出函数,是命令,不能返回值。echo后面可以跟很多个参数,之间用分号隔开,如: echo $myvar1; echo 1,2,$myvar,”&lt;b&gt;bold”; 2. print函数: 是函数,可以返回一个值,只能有一个参数。 int print ...

    如何使用PHP中的字符串函数

    1)echo,print,printf,sprintf 前两个函数是输出字符串.字符串中如果有变量名则被替换成其值. 后两个函数类似于C的同名函数. (2)strchr,strlen,strtok,strrchr,strrev,strstr,strtolower, strtoupper,substr,...

    PHP判断是否为空的几个函数对比

    您可能感兴趣的文章:PHP数字前补0的自带函数sprintf 和number_format的用法(详解)PHP常用函数总结(180多个)PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): …PHP中鲜为人知的...

    PHP闭包函数详解

    return sprintf('hello %s',name); } echo $cli('fuck')` 直接通过定义为匿名函数的变量名称来调用 echo preg_replace_callback('~-([a-z])~', function ($match) { return strtoupper($match[1]);

Global site tag (gtag.js) - Google Analytics