Element <xsl:decimal-format> w XSLT
Definicja i zastosowanie
Element <xsl:decimal-format> definiuje znaki i symbole używane podczas konwersji liczby na ciąg znaków za pomocą funkcji format-number().
Nie wszystkie kraje używają tych samych znaków do oddzielania części dziesiętnych i całkowitych, ani do grupowania liczb. Dzięki elementowi <xsl:decimal-format> można zastąpić konkretne znaki innymi symbolami.
Ten element jest elementem szczytowym (top level).
Funkcja format-number() może odnosić się do elementu <xsl:decimal-format> za pomocą nazwy (name).
Gramatyka
<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"/>
Atrybut
Atrybut | Wartość | Opis |
---|---|---|
name | name | Opcjonalne. Określa nazwę dla tego formatu. |
decimal-separator | char | Opcjonalne. Określa znak używany do reprezentacji kropki dziesiętnej. Domyślnie jest ".". |
grouping-separator | char | Opcjonalne. Określa znak używany do reprezentacji tysiąca w separatorze grupowania. Domyślnie jest ",". |
infinity | string | Opcjonalne. Określa ciąg znaków używany do reprezentacji nieskończoności. Domyślnie jest "Infinity". |
minus-sign | char | Opcjonalne. Określa znak używany do reprezentacji ujemnej liczby. Domyślnie jest "-". |
NaN | string | Opcjonalne. Określa ciąg znaków używany, gdy wartość nie jest liczbą. Domyślnie jest "NaN". |
percent | char | Opcjonalne. Określa znak, który jest używany do reprezentacji procenta. Domyślnie jest "%". |
per-mille | char | Opcjonalne. Określa znak, który jest używany do reprezentacji tysięcznika. Domyślnie jest "‰". |
zero-digit | char | Opcjonalne. Określa znak, który jest używany do reprezentacji liczby 0. Domyślnie jest "0". |
digit | char | Opcjonalne. Określa znak, który jest używany do wskazania miejsca, gdzie należy użyć liczby. Domyślnie jest #. |
pattern-separator | char. | Opcjonalne. Określa znak, który jest używany do oddzielania pozytywnego i ujemnego formatu w modelu formatowania. Domyślnie jest ";". |
Przykład
Przykład 1
Poniższy przykład pokazuje, jak formatować na europejską walutę (proszę zauważyć, że trzeci parametr funkcji format-number() odnosi się do nazwy elementu <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>
Wyjście:
26.825,80