【PHP】数字补零的两种方法

在php中有两个函数,能够实现数字补零,

  • str_pad()
  • sprintf()

函数1 : str_pad

顾名思义这个函数是针对字符串来说的这个可以对指定的字符串填补任何其它的字符串

例如:str_pad(带填补的字符串,填补后的长度,填补字符串,填补位置)

其中填补后的长度必须是个正整数,填补位置有三个选项,

  • 左边:STR_PAD_LEFT,
  • 右边:STR_PAD_RIGHT,
  • 两端:STR_PAD_BOTH

例如:

echo str_pad(1,8,"0",STR_PAD_LEFT); //00000001
echo str_pad(1,8,"0",STR_PAD_RIGHT); //10000000
echo str_pad(1,8,"0",STR_PAD_BOTH); //00010000

在上边的例子中值得注意的一个细节是,如果填补的位数是个奇数,例如例三中填补了7个0,右边优先。

函数2 sprintf

左边补零

echo sprintf("%05d",1);  //00005

先说%05d的意思,用一个5位数的数字格式化后边的参数,如果不足5位就补零

小数点后补零

echo sprintf("%01.3f",1);  //1.000

%01.3f的意思是说,用一个小数点后最少三位不足三位补零,小数点前最少一位,不足一位补零的浮点数格式化后边的参数

关于补零的这两种方法大家可以挑选着使用,其实各有优劣,sprintf能够保证你不至于误操作吧1补成1000000哈哈,str_pad可以保证你想补啥补啥。

原文地址:https://www.cnblogs.com/richerdyoung/p/8192775.html