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