L'élément <xsl:decimal-format> de XSLT

Définition et utilisation

L'élément <xsl:decimal-format> définit les caractères et les symboles à utiliser lorsque le format-number() est utilisé pour convertir un nombre en chaîne.

Pas tous les pays utilisent les mêmes caractères pour séparer les parties décimales et entières des nombres, ou pour regrouper les nombres. Grâce à l'élément <xsl:decimal-format>, vous pouvez remplacer des caractères spécifiques par d'autres symboles.

Cet élément est un élément de niveau supérieur (top level).

La fonction format-number() peut être appelée par le nom (name) de l'élément <xsl:decimal-format>.

Syntaxe

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

Attribut

Attribut Valeur Description
name name Optionnel. Définit le nom pour ce format.
decimal-separator char Optionnel. Définit le caractère de point décimal. Par défaut, c'est ".".
grouping-separator char Optionnel. Définit le caractère de séparation pour les milliers. Par défaut, c'est ",".
infinity string Optionnel. Définit la chaîne de caractères pour l'infini. Par défaut, c'est "Infinity".
minus-sign char Optionnel. Définit le caractère pour le signe négatif. Par défaut, c'est "-".
NaN string Optionnel. Définit la chaîne de caractères utilisée lorsque la valeur n'est pas un nombre. Par défaut, c'est "NaN".
percent char Optionnel. Définit le caractère pour le symbole de pourcentage. Par défaut, c'est "%".
per-mille char Optionnel. Définit le caractère pour le symbole de mille. Par défaut, c'est "‰".
zero-digit char Optionnel. Définit le caractère pour le nombre 0. Par défaut, c'est "0".
digit char Optionnel. Définit le caractère, utilisé pour indiquer où utiliser les chiffres. Par défaut, c'est #.
pattern-separator char. Optionnel. Définit le caractère, utilisé pour séparer les schémas positif et négatif dans le format. Par défaut, c'est ";".

Exemple

Exemple 1

L'exemple suivant montre comment formater en monnaie européenne (veuillez noter que le troisième paramètre de la fonction format-number() fait référence au nom de l'élément <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>

Sortie :

26.825,80