عنصر <xsl:decimal-format> در XSLT
تعریف و استفاده
عنصر <xsl:decimal-format> تعریف میکند که کدام کاراکترها و علامتها باید برای تبدیل اعداد به رشتهها در حالت استفاده از تابع format-number() انتخاب شوند.
همهی کشورها از کاراکترهای یکسان برای جدا کردن بخشهای اعشاری و کامل عدد یا گروهبندی اعداد استفاده نمیکنند. از طریق عنصر <xsl:decimal-format> میتوانید به جای کاراکترهای خاص از نمادهای دیگر استفاده کنید.
این عنصر یک عنصر سطح بالا (top level) است.
توابع format-number() میتوانند با استفاده از نام (name) به عناصر <xsl:decimal-format> اشاره کنند.
نحوهی نوشتن
<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"/>
ویژگیها
ویژگیها | مقادیر | توضیحات |
---|---|---|
name | name | اختیاری. نامی برای این فرمت تعیین میکند. |
decimal-separator | char | اختیاری. کاراکتر تعیین شده برای نشان دادن نقطه اعشار. پیشفرض "." است. |
grouping-separator | char | اختیاری. کاراکتر تعیین شده برای جدا کردن گروههای عددی. پیشفرض "," است. |
infinity | string | اختیاری. رشتهای که برای نشان دادن بینهایت استفاده میشود. پیشفرض "Infinity" است. |
minus-sign | char | اختیاری. کاراکتر تعیین شده برای نشان دادن عدد منفی. پیشفرض "-" است. |
NaN | string | اختیاری. رشتهای که در صورت عدم عدد بودن استفاده میشود. پیشفرض "NaN" است. |
percent | char | اختیاری. کاراکتر تعیین شده برای علامت درصد. پیشفرض "%" است. |
per-mille | char | اختیاری. کاراکتر تعیین شده برای علامت هزاره. پیشفرض "‰" است. |
zero-digit | char | اختیاری. کاراکتر تعیین شده برای عدد صفر. پیشفرض "0" است. |
digit | char | اختیاری. کاراکتر تعیین شده، کاراکتری است که برای نشان دادن مکانهایی که باید از عدد استفاده شود استفاده میشود. پیشفرض # است. |
pattern-separator | char. | اختیاری. کاراکتر تعیین شده، کاراکتری است که برای جدا کردن مدلهای مثبت و منفی استفاده میشود. پیشفرض ";" است. |
مثال
مثال 1
مثال زیر نشان میدهد که چگونه میتوان آن را به پول اروپایی فرمت کرد (لطفاً توجه داشته باشید که پارامتر سوم تابع format-number() به نام عناصر <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>
خروجی:
26.825,80