Strict Standards: Declaration of action_plugin_safefnrecode::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/u17330/wiki.iland66.ru/www/lib/plugins/safefnrecode/action.php on line 14

Strict Standards: Declaration of action_plugin_popularity::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/u17330/wiki.iland66.ru/www/lib/plugins/popularity/action.php on line 0

Warning: Cannot modify header information - headers already sent by (output started at /home/u17330/wiki.iland66.ru/www/lib/plugins/safefnrecode/action.php:14) in /home/u17330/wiki.iland66.ru/www/inc/auth.php on line 352

Warning: Cannot modify header information - headers already sent by (output started at /home/u17330/wiki.iland66.ru/www/lib/plugins/safefnrecode/action.php:14) in /home/u17330/wiki.iland66.ru/www/inc/actions.php on line 180
xlst:функции_форматирования [АйЛенд]
 

Функции форматирования выводимых данных

Кроме подстановки полей модуль шаблонов документов способен выполнить дополнительное форматирование выводимых данных. Эта дополнительная функциональность реализована через функции форматирования выводимых данных. Вызов функции форматирования данных производится указанием специальной последовательности символов перед именем подставляемого поля: после левой фигурной скобки ставится знак доллара «$»; потом указывается имя вызываемой функции; далее, через пробел (это важно) указывается список аргументов функции, разделённых запятыми; в конце списка аргументов снова указывается знак доллара «$», после которого выражение продолжается обычным образом – именем подставляемого поля и правой фигурной скобкой. Примеры вызова функций форматирования приведены далее, в описании функций:

Функция преобразования числа в строку итоговой суммы

Наиболее частая задача форматирования выходных данных – преобразование итоговой суммы, например 128.34, в строку вида «Сто двадцать восемь рублей 34 копейки» Эту задачу решает специальная функция форматирования выводимых данных «M». Она не имеет параметров. Пример вызова функции:

{$M$PaymentSumm}

Функции округления числа с заданной точностью

Функция «R» позволяет не только производить округление числа с заданной точностью, как следует из её названия, но и форматировать число перед его выводом. Например – дополнить число ведущими нулями.

Функция принимает три параметра, ни один из которых не обязателен:

  • Символ-заполнитель целой части числа. Например, если второй параметр установлен в пять символов, то число 123 будет выведено как 00123, если первый параметр – это «0». Естественно, что этот параметр не имеет смысла, если не указан второй параметр. По умолчанию как символ-заполнитель используется пробел.
  • Длина целой части числа. Если длина целой части числа меньше указанного значения, то оно будет дополнено слева символом, который указан как первый параметр, до заданной длины. (Если первый параметр не указан, то используется пробел.)
  • Последний параметр задаёт точность округления числа.

Примеры применения разных вариантов вызова функции «R» к числу 123.456:

Вызов функции Результат Комментарии
{$R$SumA}123.456Бессмысленная операция, т.к. не были указаны параметры функции. Точно такое же значение было бы выведено в случае отсутствия форматирования.
{$R 2$SumA}123.46Произведено округление до двух цифр после запятой.
{$R *,5,$SumA}**123.456Длина целой части числа должна быть не меньше пяти символов. Недостающие цифры заменяются символов звёздочки *. Число знаков после запятой не контролируется.

Смотрите также

xlst/функции_форматирования.txt · Последние изменения: 2011/08/08 22:55 — admin
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Noncommercial 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki