sprintf
(PHP3 , PHP4)
sprintf --- 传回格式化字符串
语法 :
string sprintf
(string format [, mixed args...])说明 :
依照格式化字符串 format,传回一字符串。
格式化字符串是由 0(zero)或是一些命令所构成的,普通的字元(不包含%)会直接地复制到结果,这适用于sprintf( )和printf( )。
各个转换的规格是由这些元素所构成,依序是 :
- 非必需选项指定填塞,说明使用何种字元来填塞结果成为适当的字符串长度,它可以是个空白字元或是 0(字元 0),它预设上是使用空白来填塞。要替换填塞字元,可以在字首前面加上单引号( ' )来指定,参考下面的范例。
非必需选项指定对齐方式,说明结果应该要靠左对齐还是靠右对齐,预设是靠右对齐,可以使用字元 - 来使它靠左对齐。
非必需选项指定宽度,说明这个转换要产生出多少(最少)字元。
非必需选项指定精准度,说明要显示到小数点第几位,这个选项对于浮点数以外的型态没有影响,另外一个函数number_format( )有助于将数字格式化。
指定型态说明要将参数看待成何种型态,可能的型态有 :
% - 百分比字元,不需要参数
b - 将参数看待成整数,而且结果为二进制的值
c - 将参数看待成整数,而且结果为此ASCII值的字元
d - 将参数看待成整数,而且结果为十进位的数值
f - 将参数看待成浮点数,而且结果为浮点数
o - 将参数看待成整数,而且结果为八进制的数值
s - 将参数和结果都看待成字符串
x - 将参数看待成整数,而且结果为十六进制的数值(小写字母)
X - 将参数看待成整数,而且结果为十六进制的数值(大写字母)
Example :
<?php
$isodate = sprintf ("%04d-%02d-%02d", $year, $month, $day);
?>
Example :
<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money will output "123.1";
$formatted = sprintf ("%01.2f", $money);
// echo $formatted will output "123.10"
?>
参考 : printf( ) sscanf( ) fscanf( ) number_format( )