Oc-windows.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Php float format

Функции форматного вывода в PHP

Для форматного вывода в PHP используются две замечательных функции: printf() и sprintf(). У них достаточно много возможностей, которые мы обсудим в этой статье.

Сразу скажу, что разница между printf() и sprintf() лишь в том, что первая выводит строку сразу в выходной поток (например, в браузер), а вторая возвращает её.

Параметр функции — это строка, которая имеет символы с %, называемые спецификаторами, и символы без %, называемых директивами. Директивы остаются неизменными при форматировании, а вот спецификатор приводит к подстановке других параметров функций (следующих за строкой с форматом).

Всего имеется несколько спецификаторов, которые объединяются в одну группу (один общий %), порядок которых следующий:

  1. Спецификатор заполнения. Позволяет заполнить строку до заданного размера конкретным символом. По умолчанию этим символом является пробел.
  2. Спецификатор выравнивания. Данный спецификатор позволяет задать выравнивание строки по правому краю (по умолчанию), либо по левому краю (если указать ««).
  3. Спецификатор минимальной ширины. Если результат будет иметь меньшую длину строки, то она будет заполнена символами из спецификатора заполнения до указанной ширины.
  4. Спецификатор точности. Позволяет указать, какое количество знаков после запятой оставить у числа с плавающей точкой.
  5. Спецификатор типа. Этот спецификатор указывает тип выводимых данных. Их там 8 штук, но на практике используются следующие:
    • d — целое число в десятичном виде.
    • f — число с плавающей точкой в десятичном виде.
    • s — строка.

Давайте разберём классический пример по выводу отформатированной даты:

Нетрудно догадаться, что в результате будет выведена такая строка: «Дата написания статьи: 28.09.2012«. Обратите внимание, сколько групп спецификаторов, столько и параметров передаётся помимо самого формата. Строка «Дата написания статьи: » является директивой, и она остаётся без изменений. Теперь разберём для примера вторую группу спефикаторов, которая отвечает за месяц. Другие группы абсолютно идентичны.

  • % — начало группы спецификатора.
  • — символ, которым заданный параметр будет заполняться до требуемой ширины.
  • 2 — минимальная ширина. Соответственно, если длина строки меньше, то она будет заполнена .
  • d — выводиться будет как целое число. Если поставить, например, b (ещё один спецификатор типа), то выведится это же число, но в двоичной форме.

Приведу ещё один популярный пример использования функции printf (и sprintf()), связанный с окргулением чисел:

Давайте разберём первый аргумент функции printf():

  • % — начало группы спецификатора.
  • — символ заполнения до требуемой длины.
  • 6 — требуемая длина (точка, безусловно, также входит в эту длину).
  • .2 — точность до 2-х знаков после запятой.
  • f — тип чисел с плавающей точкой. Собственно, округление имеет смысл только для этого типа.

Как видите, функции printf() и sprintf() позволяют легко решать, на первый взгляд, достаточно сложные задачи. Поэтому Вам обязательно нужно иметь их в своём арсенале.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Читать еще:  Переменные в sql запросе php

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Php float format

    Выводит строку, значение переменной или выражение.
    Синтаксис:

    Функция print() выводит аргумент arg, в качестве которого может быть переменная или выражение.

    Возвращает отформатированную строку (PHP 4 >= 4.1.0, PHP 5)

    Выводит значения массива args, отформатированные в соответствии с аргументом format, описанном в документации функции sprintf().

    Эта функция подобна sprintf(), но она принимает не переменное число аргументов, а массив.

    Производит вывод одного или нескольких значений.
    Синтаксис:

    Функция echo() выводит значения перечисленных параметров.
    echo() — фактически языковая конструкция, поэтому для нее не обязательны скобки, даже если используется несколько аргументов.
    echo «Перенос на следующую строку,имеющийся в коде, сохраняетсяи используется при выводе».
    «чтобы избежать этого используйте».
    «оператор конкатенации»;

    Вывод отформатированной строки.
    Синтаксис:

    Делает то же самое, что и sprintf(), только результирующая строка не возвращается, а направляется в браузер пользователя.

    Производит форматирование строки с подстановкой переменных.
    Синтаксис:

    Эта функция возвращает строку, составленную на основе строки форматирования, содержащей некоторые специальные символы, которые будут впоследствии заменены на значения соответствующих переменных из списка аргументов.
    Строка форматирования $format может включать в себя команды форматирования, предваренные символом %.
    Все остальные символы копируются в выходную строку как есть. Каждый спецификатор формата (то есть, символ % и следующие за ним команды) соответствуют одному, и только одному параметру, указанному после параметра $format. Если же нужно поместить в текст % как обычный символ, необходимо его удвоить:

    Каждый спецификатор формата включает максимум пять элементов (в порядке их следования после символа %):

    Необязательный спецификатор размера поля, который указывает, сколько символов будет отведено под выводимую величину.
    В качестве символов-заполнителей (если значение имеет меньший размер, чем размер поля для его вывода)
    может использоваться пробел или 0, по умолчанию подставляется пробел. Можно задать любой другой символ-наполнитель, если указать его в строке форматирования, предварив апострофом.
    Опциональный спецификатор выравнивания, определяющий, будет результат выровнен по правому или по левому краю поля. По умолчанию производится выравнивание по правому краю, однако можно указать и левое выравнивание, задав символ — (минус).

    Необязательное число, определяющее размер поля для вывода величины. Если результат не будет в поле, то он «вылезет» за края этого поля, но не будет усечен.
    Необязательное число, которое предварено точкой «.», предписывающее, сколько знаков после запятой будет в результирующей строке.
    Этот спецификатор учитывается только в том случае, если происходит вывод числа с плавающей точкой, в противном случае он игнорируется.
    Наконец, обязательный (заметьте — единственный обязательный!) спецификатор типа величины, которая будет помещена в выходную строку:

    b — очередной аргумент из списка выводится как двоичное целое число
    c — выводится символ с указанным в аргументе кодом
    d — целое число
    f — число с плавающей точкой
    o — восьмеричное целое число
    s — строка символов
    x — шестнадцатиричное целое число с маленькими буквами a-z
    X — шестнадцатиричное целое число с большими буквами A-Z

    Читать еще:  Php msi скачать

    Вот как можно указать точность представления чисел с плавающей точкой:

    Вот пример вывода целого числа, предваренного нужным количеством нулей:

    Производит интерпретацию строки согласно формату и занесение значений в переменные.

    Функция sscanf() является противоположностью функции printf().

    Она интерпретирует строку str согласно формату format, аналогично спецификации printf().

    При указании только двух аргументов полученные значения возвращаются в массиве.

    При указании дополнительных необязательных параметров (их следует передавать по ссылке)

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

    Записывает отформатированную строку в поток (PHP 5)

    Записывает строку, созданную с использованием строки формата format, в поток, дескриптор которого передается в handle. Аргумент format подробно рассмотрен в описании функции sprintf().

    Возвращает длину выведенной строки.

    fprintf(): заполнение нулями

    fprintf(): форматирование денежных величин

    Записывает отформатированную строку в поток (PHP 5)

    Записывает строку, отформатированную в соответствии с format, в ресурс потока, указанный дескриптором handle. Форматирование осуществляется аналогично sprintf().

    Работает так же, как и fprintf(), но принимает массив аргументов, а не переменное число аргументов.

    Возвращает длину выведенной строки.

    See also: printf(), sprintf(), sscanf(), fscanf(), vsprintf(), and number_format().
    Examples

    vfprintf(): zero-padded integers

    Выводит отформатированную строку (PHP 4 >= 4.1.0, PHP 5)

    Выводит значения массива args, отформатированные в соответствии с аргументом format, описанном в документации функции sprintf().

    Эта функция подобна printf(), но она принимает не переменное число аргументов, а массив.

    Возвращает длину выведенной строки

    Форматирует число с разделением групп (PHP 3, PHP 4, PHP 5)

    number_format() возвращает отформатированное число number. Функция принимает один, два или четыре аргумента (не три):

    Если передан только один аргумент, number будет отформатирован без дробной части, но с запятой («,») между группами цифр по 3.

    Если переданы два аргумента, number будет отформатирован с decimals знаками после точки («.») и с запятой («,») между группами цифр по 3.

    Если переданы все четыре аргумента, number будет отформатирован с decimals знаками после точки и с разделитилем между группами цифр по 3, при этом в качестве десятичной точки будет использован dec_point, а в качестве разделителя групп — thousands_sep.

    Используется только первый символ строки thousands_sep. Например, при передаче foo в качестве thousands_sep для форматирования числа 1000, number_format() возвращает 1f000.

    Пример использования number_format()

    Во Франции обычно используются 2 знака после запятой (‘,’), и пробел (‘ ‘) в качестве разделителя групп. Такое форматирование получается при использовании следующего кода:

    Функции форматного вывода в PHP

    Для форматного вывода в PHP используются две замечательных функции: printf() и sprintf(). У них достаточно много возможностей, которые мы обсудим в этой статье.

    Сразу скажу, что разница между printf() и sprintf() лишь в том, что первая выводит строку сразу в выходной поток (например, в браузер), а вторая возвращает её.

    Параметр функции — это строка, которая имеет символы с %, называемые спецификаторами, и символы без %, называемых директивами. Директивы остаются неизменными при форматировании, а вот спецификатор приводит к подстановке других параметров функций (следующих за строкой с форматом).

    Читать еще:  Php try catch finally

    Всего имеется несколько спецификаторов, которые объединяются в одну группу (один общий %), порядок которых следующий:

    1. Спецификатор заполнения. Позволяет заполнить строку до заданного размера конкретным символом. По умолчанию этим символом является пробел.
    2. Спецификатор выравнивания. Данный спецификатор позволяет задать выравнивание строки по правому краю (по умолчанию), либо по левому краю (если указать ««).
    3. Спецификатор минимальной ширины. Если результат будет иметь меньшую длину строки, то она будет заполнена символами из спецификатора заполнения до указанной ширины.
    4. Спецификатор точности. Позволяет указать, какое количество знаков после запятой оставить у числа с плавающей точкой.
    5. Спецификатор типа. Этот спецификатор указывает тип выводимых данных. Их там 8 штук, но на практике используются следующие:
      • d — целое число в десятичном виде.
      • f — число с плавающей точкой в десятичном виде.
      • s — строка.

    Давайте разберём классический пример по выводу отформатированной даты:

    Нетрудно догадаться, что в результате будет выведена такая строка: «Дата написания статьи: 28.09.2012«. Обратите внимание, сколько групп спецификаторов, столько и параметров передаётся помимо самого формата. Строка «Дата написания статьи: » является директивой, и она остаётся без изменений. Теперь разберём для примера вторую группу спефикаторов, которая отвечает за месяц. Другие группы абсолютно идентичны.

    • % — начало группы спецификатора.
    • — символ, которым заданный параметр будет заполняться до требуемой ширины.
    • 2 — минимальная ширина. Соответственно, если длина строки меньше, то она будет заполнена .
    • d — выводиться будет как целое число. Если поставить, например, b (ещё один спецификатор типа), то выведится это же число, но в двоичной форме.

    Приведу ещё один популярный пример использования функции printf (и sprintf()), связанный с окргулением чисел:

    Давайте разберём первый аргумент функции printf():

    • % — начало группы спецификатора.
    • — символ заполнения до требуемой длины.
    • 6 — требуемая длина (точка, безусловно, также входит в эту длину).
    • .2 — точность до 2-х знаков после запятой.
    • f — тип чисел с плавающей точкой. Собственно, округление имеет смысл только для этого типа.

    Как видите, функции printf() и sprintf() позволяют легко решать, на первый взгляд, достаточно сложные задачи. Поэтому Вам обязательно нужно иметь их в своём арсенале.

    Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Ссылка на основную публикацию
    Adblock
    detector