XSLT <xsl:decimal-format> Element

Definition and Usage

The <xsl:decimal-format> element defines the characters and symbols to be used when converting numbers to strings using the format-number() function.

Not all countries use the same characters to separate the fractional and integer parts of numbers, or to group numbers. Through the <xsl:decimal-format> element, you can change specific characters to other symbols.

This element is a top-level element (top level).

The format-number() function can refer to the <xsl:decimal-format> element by name (name).

Syntax

<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"/>

Attribute

Attribute Value Description
name name Optional. Specifies a name for this format.
decimal-separator char Optional. Specifies the character for the decimal point. The default is ".".
grouping-separator char Optional. Specifies the character for the thousand separator. The default is ",".
infinity string Optional. Specifies the string used to represent infinity. The default is "Infinity".
minus-sign char Optional. Specifies the character used to represent a negative number. The default is "-".
NaN string Optional. Specifies the string to be used when the value is not a number. The default is "NaN".
percent char Optional. Specifies the character for the percentage symbol. The default is "%".
per-mille char Optional. Specifies the character for the thousand separator. The default is "‰".
zero-digit char Optional. Specifies the character for the number 0. The default is "0".
digit char Optional. Specifies a character that indicates where a number should be used. The default is #.
pattern-separator char. Optional. Specifies a character that is used to separate the positive and negative patterns in the format pattern. The default is ";".

Instance

Example 1

This example demonstrates how to format as European currency (note that the third parameter of the format-number() function refers to the name of the <xsl:decimal-format> element):

<?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>

Output:

26.825,80