Элемент XSLT <xsl:decimal-format>
Определение и использование
Элемент <xsl:decimal-format> определяет символы и знаки, которые используются при преобразовании чисел в строки с помощью функции format-number().
Не все страны используют одинаковые символы для разделения целой и дробной частей или для группировки чисел. Через элемент <xsl:decimal-format> вы можете изменить конкретные символы на другие знаки.
Этот элемент является верхним уровнем (top level).
Функция format-number() может ссылаться на элемент <xsl:decimal-format> по имени (name).
Грамматика
<xsl:decimal-format name="name" decimal-separator="char" grouping-separator="char" infinity="string" minus-sign="char" NaN="string" percent="char" per-mille="char" zero-digit="char" digit="char" pattern-separator="char"/>
Атрибут
Атрибут | Значение | Описание |
---|---|---|
name | name | Доступно. Определяет имя для этого формата. |
decimal-separator | char | Доступно. Определяет символ для разделения целой и дробной частей. По умолчанию это ".". |
grouping-separator | char | Доступно. Определяет символ для разделения тысяч. По умолчанию это ",". |
infinity | string | Доступно. Определяет строку для обозначения бесконечности. По умолчанию это "Infinity". |
minus-sign | char | Доступно. Определяет символ для отрицательного числа. По умолчанию это "-". |
NaN | string | Доступно. Определяет строку, которая используется, когда значение не является числом. По умолчанию это "NaN". |
percent | char | Доступно. Определяет символ для百分ного знака. По умолчанию это "%". |
per-mille | char | Доступно. Определяет символ для тысячного знака. По умолчанию это "‰". |
zero-digit | char | Доступно. Определяет символ для числа 0. По умолчанию это "0". |
digit | char | Доступно. Определяет символ, который указывает на места, где должны использоваться числа. По умолчанию это #. |
pattern-separator | char. | Доступно. Определяет символ, который используется для разделения положительных и отрицательных частей формата. По умолчанию это ";". |
Пример
Пример 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