我想要一个函数来生成从“000100”开始的数字。
现在我有以下函数,它允许我生成带有前导零的数字。
我该如何修改它以满足我的需求?
function lz( $aNumber, $intPart, $floatPart=NULL, $dec_point=NULL, $thousands_sep=NULL)
{
$formattedNumber = $aNumber;
if (!is_null($floatPart))
{
$formattedNumber = number_format($formattedNumber, $floatPart, $dec_point, $thousands_sep);
}
$formattedNumber = str_repeat("0",($intPart + -1 - floor(log10($formattedNumber)))).$formattedNumber;
return $formattedNumber;
}
示例:已下新订单且订单 ID 为“19”。最终订单号必须是 000119。
谢谢!
最佳答案
为什么不使用单个 printf
作为:
printf("%06d",$number);
See it
使用的格式说明符是:
% - Marks the beginning of the format specifier
0 - Ensures zero filling if number being printed has fewer digits
6 - Number of digits reserved
d - We are printing an integer
编辑:
从您的编辑看来,您想在格式化之前将 100 添加到输入中。如果是这样,你可以这样做:
printf("%06d",$number+100);
关于PHP - 生成带有前导零并从 100 开始的数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8216890/