PHP中对带前导零的数字执行加法后如何保留前导零
问题原因
PHP为弱类型语言,执行加法运算时会自动将字符串格式的$i转换为整型计算,最终得到的结果2是整型,因此丢失前导零。
解决方法
你可以在完成加法运算后,通过格式化补零的方式得到需要的带前导零的结果,常用实现方式有两种:
- 方法1:使用
sprintf格式化输出
$i = '0001'; $j = $i + 1; // %04d 表示格式化为总长度4位的数字,不足位用0在左侧补齐 $res = sprintf("%04d", $j);
执行后$res的值就是0002。
- 方法2:使用
str_pad函数左侧补零
$i = '0001'; $j = $i + 1; // 四个参数分别为:待处理值、总长度、用于补位的字符、指定在左侧补位 $res = str_pad($j, 4, '0', STR_PAD_LEFT);
执行后$res的值同样为0002。
如果后续需要调整前导零的数量,只要修改代码里的总长度参数即可。
内容的提问来源于stack exchange,提问作者Amir
相关产品推荐
相关产品推荐

