php中字符串格式化函数用来将字符串格式化。参数format是转换的格式,以百分比符号%开始到转换字符为止。下面学步园小编来讲解下php中字符串格式化函数sprintf是什么?
php中字符串格式化函数sprintf是什么
1.填空字元。0的话表示空格填0;空格是内定值,表示空格就放着。
2.对齐方式。内定值为向右对齐,负号表向左对齐。
3.栏位宽度。为最小宽度。
4.精确度。指在小数点后的浮点数位数。
型态,见下表
转换字符
%印出百分比符号,不转换。
b整数转成二进位。
c整数转成对应的ASCII字元。
d整数转成十进位。
f倍精确度数字转成浮点数。
o整数转成八进位。
s整数转成字串。
x整数转成小写十六进位。
X整数转成大写十六进位。
php中字符串格式化函数sprintf是什么
例子:
$money1=68.25;
$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位以上。
如果把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.
最后,以f"转换字符"结尾,其他转换字符请自行参考上面的转换字符列表。
关于对齐
如果在%起始符号后面加上-(负号)则,将会把数字以向右对齐的方式进行处理。
看下面实例:
$money=1.4;
$formatted=sprintf("%-02.2f",$money);
echo$formatted;
?>
这时候,$formatted将不会再是01.40而是1.400
以上就是关于“php中字符串格式化函数sprintf是什么”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!