现在的位置: 首页 > 编程语言 > 正文

php中字符串格式化函数sprintf是什么

2020年05月27日 编程语言 ⁄ 共 1214字 ⁄ 字号 评论关闭

  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技术的优质平台!

抱歉!评论已关闭.