【问题标题】:PHP number format 4 digits [duplicate]PHP数字格式4位[重复]
【发布时间】:2013-02-20 11:28:05
【问题描述】:

例如,我有这种格式: $s_number = "12"; 对于这个输入,我需要0012 作为输出:

另一个例子:

输入$s_number = "3"; 输出:0003

每次我需要 4 位数字时,我都希望发生这种情况。

【问题讨论】:

  • printf 已经可以做到这一点:printf("%04d", $number)。如果您想要字符串中的结果,还有sprintf
  • 你试过什么?您是否尝试过使用 sprintf (php.net/manual/en/function.sprintf.php) 之类的东西,或者只是根据字符串的长度添加文本?​​

标签: php numbers number-formatting


【解决方案1】:

您可以通过使用 phps'printf 轻松实现此目的

<?php
$s_number = '12';
printf("%04d", $s_number);
?>

希望对你有帮助

【讨论】:

  • 啊,谢谢。完全忘记了他们 printf 也会打印出来(我很愚蠢,因为它也在函数的名称中)
【解决方案2】:

它不会是一个数字(而是一个字符串),但你可以使用 str_pad 来做到这一点。在你的例子中:

$s_number = str_pad( "12", 4, "0", STR_PAD_LEFT );
$s_number = str_pad( "3", 4, "0", STR_PAD_LEFT );

【讨论】:

    【解决方案3】:

    为此使用str_pad()

    echo str_pad($number, 4, '0', STR_PAD_LEFT); 
    

    【讨论】:

    • 谢谢,我也成功了 $p = substr(sprintf('%04d', $digit),0,4);
    • 请注意 str_pad 要快得多 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多