Elementet <xsl:decimal-format> i XSLT

Definition og brug

Elementet <xsl:decimal-format> definerer de tegn og symboler, der skal bruges, når tal konverteres til streng ved hjælp af funktionen format-number().

Ikke alle lande bruger de samme tegn til at adskille decimaler og hele tal, eller til at gruppere tal. Gennem <xsl:decimal-format> elementet kan du ændre specifikke tegn til andre symboler.

Dette element er et toppelagselement (top level).

format-number() funktionen kan referere til <xsl:decimal-format> elementet via navn (name).

Syntaks

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

Egenskab

Egenskab Værdi Beskrivelse
name name Valgfri. Angiver navn for dette format.
decimal-separator char Valgfri. Angiver tegn for decimaltegn. Standard er ".".
grouping-separator char Valgfri. Angiver tegn for tusindskilletegn. Standard er ",".
infinity string Valgfri. Angiver streng, der bruges til at repræsentere uendelig. Standard er "Infinity".
minus-sign char Valgfri. Angiver tegn for negative tal. Standard er "-".
NaN string Valgfri. Angiver streng, der bruges, når værdien ikke er et tal. Standard er "NaN".
percent char Valgfri. Angiver tegn for procenttegn. Standard er "%".
per-mille char Valgfri. Angiver tegn for tusindtegn. Standard er "‰".
zero-digit char Valgfri. Angiver tegn for tallet 0. Standard er "0".
digit char Valgfri. Angiver tegn, der bruges til at indikere hvor tal skal bruges. Standard er #.
pattern-separator char. Valgfri. Angiver tegn, der bruges til at adskille positive og negative dele i formateringsmønstret. Standard er ";".

Eksempel

Eksempel 1

Her er et eksempel på, hvordan du formaterer som europæisk valuta (bemærk, at den tredje parameter i format-number() funktionen refererer til navnet på <xsl:decimal-format> elementet):

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