Элемент 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