我想有一个函数来生成从"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;
}
Run Code Online (Sandbox Code Playgroud)
示例:已下达新订单且订单ID为"19".最终订单号必须为000119.
谢谢!
为什么不使用单一printf作为:
printf("%06d",$number);
Run Code Online (Sandbox Code Playgroud)
使用的格式说明符是:
% - 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
Run Code Online (Sandbox Code Playgroud)
编辑:
从您的编辑看起来您希望在格式化之前将100添加到输入.如果是这样,你可以做到:
printf("%06d",$number+100);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2632 次 |
| 最近记录: |