php 前导零,在PHP中使用前导零格式化数字

我有一个包含值1234567的变量。

我希望它包含正好8位数,即01234567。

那有PHP功能吗?

使用sprintf:

sprintf('%08d', 1234567);

或者,您也可以使用str_pad:

str_pad($value, 8, '0', STR_PAD_LEFT);

只想添加:str_pad不是带负数的选项

只是添加wtf8_decode所说的内容;负数不会有前导零,而且它们不是正数。即08将被写为日期,或者需要正两位数的东西(银行账户排序代码等)。如果我错了,请纠正我,但据我所知,没有现实生活中要求负值的前导零?

想要添加sprintf('%+03d:00 UTC',$i),其中$i是-12到12,将根据需要打印+或 - 并且还将为小于2位的数字设置前导零。非常适合在HTML中创建时区SELECT。

对于当前版本(7.1)和低级sprintf(3v4l.org/junvv/perf#output)比str_pad(3v4l.org/cliNP/perf#output)快一点

09和08在PHP7中不起作用

什么时候负数可能需要一个前导零...一个三位数的升降计数器? T-010,T-009,T-008等

请注意,变量类型转换在这里发挥作用。当我将带有前导零的sprintf整数与前导字符串($new = 'PT'.$integerWithZeroes)连接在一起时,它将零表示为空格。当我使用str_pad创建$integerWithZeroes时,一切运行良好。即PT00000001

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值