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