Элемент XSLT <xsl:decimal-format>
Определение и использование
Элемент <xsl:decimal-format> определяет символы и знаки, которые используются при преобразовании чисел в строки с помощью функции format-number().
Не все страны используют одинаковые символы для разделения частей дроби и целого, или для группировки чисел. Через элемент <xsl:decimal-format> вы можете изменить конкретные символы на другие.
Этот элемент является верхним уровнем (top level).
Функция format-number() позволяет ссылаться на элемент <xsl:decimal-format> по имени (имя).
грамматика
<xsl:decimal-format name="имя" decimal-separator="символ" grouping-separator="символ" infinity="строка" minus-sign="символ" NaN="строка" percent="символ" per-mille="символ" zero-digit="символ" digit="символ" pattern-separator="символ"/>
Атрибут
Атрибут | Значение | Описание |
---|---|---|
name | name | Опционально. Определяет имя для этого формата. |
decimal-separator | символ | Опционально. Определяет символ для точки. По умолчанию это ".". |
grouping-separator | символ | Опционально. Определяет символ для тысячи. По умолчанию это ",". |
infinity | string | Опционально. Определяет строку для бесконечности. По умолчанию это "Infinity". |
minus-sign | символ | Опционально. Определяет символ для отрицательного числа. По умолчанию это "-". |
NaN | string | Опционально. Определяет строку, которая используется, когда значение не является числом. По умолчанию это "NaN". |
percent | символ | Опционально. Определяет символ для процента. По умолчанию это "%". |
per-mille | символ | Опционально. Определяет символ для тысячи. По умолчанию это "‰". |
zero-digit | символ | Опционально. Определяет символ числа 0. По умолчанию это "0". |
цифра | символ | Опционально. Определяет символ, который используется для указания мест, где должны использоваться числа. По умолчанию это #. |
pattern-separator | символ. | Опционально. Определяет символ, который используется для разделения模式的 положительного и отрицательного подмоделей. По умолчанию это ";". |
Пример
Пример 1
Ниже приведен пример того, как можно форматировать как европейскую валюту (обратите внимание, что третий параметр функции format-number() ссылается на имя элемента <xsl:decimal-format>):
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:decimal-format name="euro" decimal-separator="," grouping-separator="."/> <xsl:template match="/"> <xsl:value-of select="format-number(26825.8, '#.###,00', 'euro')"/> </xsl:template> </xsl:stylesheet>
Вывод:
26.825,80