Оглавление

Форматирующие коды

Спецификаторы формата также устанавливают необязательные параметры: отступ, выравнивание, ширину и точность выводимого значения.  Это позволяет выполнять довольно сложное форматирование.

 

Спецификатор ширины указывает, сколько символов отводится в строке на вывод форматируемого значения. Он ставится между знаком процента и спецификатором типа. Пример ниже позволяет убедиться, что выводимое имя занимает ровно десять знакомест:


$namel = "Ian";
$name2 = "John";
$name3 = "Jacob";
$name4 = "Carter";
echo   "<PRE>";	
printf("%10s \n", $namel);
printf("%10s \n", $name2);
printf("%10s \n", $name3);
printf("%10s \n", $name4);
echo "</PRE>";

 

Отступ
В этом примере используется дескриптор <pre>, чтобы вывести на экран пробелы перед именем. Потому что без него браузер рассматривает несколько пробелов как один.
Строчные отступы не используются для генерации динамических Web-страниц, но они очень удобны, когда нужно сгенерировать обычный текст. Например, содержимое электронного письма.

 

 

Запустив этот пример, можно убедиться что перед всеми именами есть отступ слева на соответствующее число символов. В результате получаем список имен с выравниванием по правому краю.

 

       Ian 
      John 
     Jacob 
    Carter 

 

По умолчанию выравнивание идет справа на заданную ширину. Но это можно изменить с помощью знака минус перед значением ширины. Выравнивание по левому краю в предыдущем примере будет выполняться, если задать спецификатор формата в виде %-10s. Но, по сути, такой формат генерирует такой же вид, как простой %s. Строка получит отступ в десять символов справа.

 

Символ пробела для отступа можно заменить на любой. Для этого нужно поставить одиночную кавычку и нужный символ перед значением ширины. В следующем примере показывается, как число из пяти цифр заполняется нулями:


$order = 201;
printf("Номер заказа: %'05d", $order);

На выходе получим:


Номер  заказа: 00201

 

 

Спецификатор точности используется для чисел с плавающей точкой, чтобы задать количество символов после точки, и наиболее часто применяется для денежных значений. Таким образом, даже имея целое значение, всегда получим две цифры для копеечных значений.

 

Спецификатор точности следует через точку после необязательного спецификатора ширины. В примере ниже %.2f используется для денег и задает два знака после точки, а необязательный спецификатор ширины не используется:

$price = 6;
printf ("Цена: %.2f", $price);


Ниже показан отформатированный вывод:

 


Цена:   6.00

 


 

Ширина чисел с плавающей точкой
Для чисел с плавающей точкой спецификатор ширины задает количество символов перед точкой. Например, %6.2f состоит из девяти символов вместе с точкой и двумя числами после нее.
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити