Форматирование числа с ведущими нулями в PHP

Измените свою функцию плагина, чтобы взять второй параметр. Предполагая, что пользователь передает функцию, этот параметр можно рассматривать как обычную функцию. Обратите внимание, что вы также можете сделать обратный вызов свойством параметра options.

Например:

$.fn.myPlugin = function(options, callback) {
    ...

    if(callback)        //If the caller supplied a callback
        callback(someParam);

    ...
});
546
задан User that is not a user 10 August 2017 в 04:00
поделиться

5 ответов

Используйте sprintf :

sprintf('%08d', 1234567);

В качестве альтернативы вы также можете использовать str_pad :

str_pad($value, 8, '0', STR_PAD_LEFT);
1134
ответ дан 22 November 2019 в 22:11
поделиться

sprintf - это то, что вам нужно.

РЕДАКТИРОВАТЬ ( каким-то образом запрошено голосами против ), со страницы, указанной выше, вот образец "с нулями целые числа ":

<?php
    $isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>
14
ответ дан 22 November 2019 в 22:11
поделиться

Хотя я не совсем уверен, что вы хотите сделать, вы, вероятно, ищете sprintf .

Это будет:

$value = sprintf( '%08d', 1234567 );
18
ответ дан 22 November 2019 в 22:11
поделиться

Учитывая, что значение находится в $ value:

  • Чтобы повторить это:

    printf ("% 08d", $ value);

  • Чтобы получить:

    $ formatted_value = sprintf ("% 08d", $ value);

Это должно помочь

78
ответ дан 22 November 2019 в 22:11
поделиться

Простой ответ

$p = 1234567;
$p = sprintf("%08d",$p);

Я не уверен, как интерпретировать комментарий «Он никогда не будет больше 8 цифр» и относится ли он к входу или выходу. Если это относится к выходу, вам потребуется дополнительный вызов substr () для обрезки строки.

Для обрезки первых 8 цифр

$p = substr(sprintf('%08d', $p),0,8);

Для обрезки последних 8 цифр

$p = substr(sprintf('%08d', $p),-8,8);
13
ответ дан 22 November 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: