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

Strict Standards: Declaration of Doku_Renderer_metadata::table_open() should be compatible with Doku_Renderer::table_open($maxcols = NULL, $numrows = NULL, $pos = NULL) in /home/u17330/wiki.iland66.ru/www/inc/parser/metadata.php on line 24

Strict Standards: Declaration of Doku_Renderer_metadata::table_close() should be compatible with Doku_Renderer::table_close($pos = NULL) in /home/u17330/wiki.iland66.ru/www/inc/parser/metadata.php on line 24

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
sms:форматирование_полей_данных [АйЛенд]
 

Форматирование полей данных

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

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

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

{$M$PaymentSumm}

В примере «PaymentSumm» доступное поле в SMS шаблоне.

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

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

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

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

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

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

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