我想要一个函数来生成从“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/

10-13 09:12