Приднестровская поддержка XOOPS
Спецификаторы формата также устанавливают необязательные параметры: отступ, выравнивание, ширину и точность выводимого значения. Это позволяет выполнять довольно сложное форматирование.
Спецификатор ширины указывает, сколько символов отводится в строке на вывод форматируемого значения. Он ставится между знаком процента и спецификатором типа. Пример ниже позволяет убедиться, что выводимое имя занимает ровно десять знакомест:
$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>";
Запустив этот пример, можно убедиться что перед всеми именами есть отступ слева на соответствующее число символов. В результате получаем список имен с выравниванием по правому краю.
Ian
John
Jacob
Carter
По умолчанию выравнивание идет справа на заданную ширину. Но это можно изменить с помощью знака минус перед значением ширины. Выравнивание по левому краю в предыдущем примере будет выполняться, если задать спецификатор формата в виде %-10s. Но, по сути, такой формат генерирует такой же вид, как простой %s. Строка получит отступ в десять символов справа.
Символ пробела для отступа можно заменить на любой. Для этого нужно поставить одиночную кавычку и нужный символ перед значением ширины. В следующем примере показывается, как число из пяти цифр заполняется нулями:
$order = 201;
printf("Номер заказа: %'05d", $order);
На выходе получим:
Спецификатор точности используется для чисел с плавающей точкой, чтобы задать количество символов после точки, и наиболее часто применяется для денежных значений. Таким образом, даже имея целое значение, всегда получим две цифры для копеечных значений.
Спецификатор точности следует через точку после необязательного спецификатора ширины. В примере ниже %.2f используется для денег и задает два знака после точки, а необязательный спецификатор ширины не используется:
$price = 6;
printf ("Цена: %.2f", $price);
Ниже показан отформатированный вывод:
Цена: 6.00
Отправитель | Нити |
---|
3 пользователь(ей) активно (2 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 3 далее... |