php中sprintf与printf函数用法区别

下面是一个示例:四舍五入保留小数点后两位,代码如下:

  1. <?php
  2. $num1 = 21;
  3. echo sprintf("%0.2f",$num1)."<br />"; //输出 21.00
  4. $num2 = 16.3287;
  5. echo sprintf("%0.2f",$num2)."<br />"; //输出 16.33
  6. $num3 = 32.12329;
  7. echo sprintf("%0.2f",$num3)."<br />"; //输出 32.12 www.111Cn.net
  8. ?>

解释下 %0.2f 的含义:

% 表示起始字符

0 表示空位用0填满

2 表示小数点后必须占两位

f 表示转换成浮点数

转换字符

% 印出百分比符号,不转换。

b 整数转成二进位。

c 整数转成对应的 ASCII 字元。

d 整数转成十进位。

f 倍精确度数字转成浮点数。

o 整数转成八进位。

s 整数转成字串。

x 整数转成小写十六进位。

X 整数转成大写十六进位。

printf与sprintf的区别

1. printf函数:

int printf ( string format [, mixed args [, mixed ...]] )

把文字格式化以后输出,如:

$name="hunte"; $age=25; printf("my name is %s, age %d", $name, $age);

2. sprintf函数:

string sprintf ( string format [, mixed args [, mixed ...]] )

跟printf相似,但不打印,而是返回格式化后的文字,其他的与printf一样.

3. print函数:

函数,可以返回一个值,只能有一个参数.

int print ( string arg )