عنصر <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"/>
property
property | مقدار | توضیحات |
---|---|---|
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. پیشفرض "0" است. |
digit | char | اختیاری. کاراکتر تعیین شده، که برای نشان دادن مکان استفاده از عدد استفاده میشود. پیشفرض # است. |
pattern-separator | char. | اختیاری. کاراکتر تعیین شده، که برای جدا کردن مدل فرمت استفاده میشود. پیشفرض ";" است. |
مثال
مثال 1
مثال زیر نشان میدهد که چگونه به صورت ارز اروپایی قالببندی میشود (لطفاً توجه داشته باشید که پارامتر سوم function format-number() به نام element <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