Avatar ·

PHP中带前导零的数字格式化

大家好!我是PHP新手,遇到了一个问题。我需要以"0001"、"0012"、"0123"等格式输出订单号。也就是说,数字总是占4个字符,不足的位数用前导零填充。 我试过直接拼接字符串,比如: ```php $orderNumber = 1; echo "000" . $orderNumber; // 输出 "0001" ``` 但这只对1到9的数字有效。如果数字变成10,就会得到"00010",而应该是"0010"。如果是100,会得到"000100"而不是"0100"。总之,完全不对。 我知道PHP中有str_pad()函数,但不太明白如何正确应用于数字。我试过这样: ```php $num = 7; echo str_pad($num, 4, "0"); ``` 好像可以工作,但我不确定这是否是最好的方法。也许有专门用于数字格式化的内置函数?或者有什么我不知道的细节?比如,如果数字已经超过4位怎么办?或者如果是小数呢? 请告诉我如何正确编写代码。