Phần tử <xsl:decimal-format> của XSLT
Định nghĩa và cách sử dụng
Phần tử <xsl:decimal-format> xác định các ký tự và dấu hiệu được sử dụng khi chuyển đổi số thành chuỗi thông qua hàm số format-number().
Không phải tất cả các quốc gia đều sử dụng cùng một ký tự để phân隔 phần thập phân và phần nguyên, hoặc để nhóm số. Bằng cách sử dụng phần tử <xsl:decimal-format>, bạn có thể thay đổi ký tự cụ thể thành ký tự khác.
Phần tử này là phần tử cấp cao nhất (top level).
Hàm số format-number() có thể được truy cập thông qua tên (name) của phần tử <xsl:decimal-format>.
cú pháp
<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"/>
Thuộc tính
Thuộc tính | Giá trị | Mô tả |
---|---|---|
name | name | Tùy chọn. Định nghĩa tên cho định dạng này. |
decimal-separator | char | Tùy chọn. Định nghĩa ký tự phân cách điểm số. Mặc định là ".". |
grouping-separator | char | Tùy chọn. Định nghĩa ký tự phân cách số ngàn. Mặc định là ",". |
infinity | string | Tùy chọn. Định nghĩa chuỗi biểu thị vô cùng. Mặc định là "Infinity". |
minus-sign | char | Tùy chọn. Định nghĩa ký tự biểu thị giá trị âm. Mặc định là "-". |
NaN | string | Tùy chọn. Định nghĩa chuỗi được sử dụng khi giá trị không phải là số. Mặc định là "NaN". |
percent | char | Tùy chọn. Định nghĩa ký tự dấu phần trăm. Mặc định là "%". |
per-mille | char | Tùy chọn. Định nghĩa ký tự dấu chấm trăm. Mặc định là "‰". |
zero-digit | char | Tùy chọn. Định nghĩa ký tự số 0. Mặc định là "0". |
digit | char | Tùy chọn. Định nghĩa ký tự, ký tự này được sử dụng để chỉ ra nơi cần sử dụng số. Mặc định là #. |
pattern-separator | char. | Tùy chọn. Định nghĩa ký tự, ký tự này được sử dụng để phân tách các mẫu định dạng. Mặc định là ";". |
Mô hình
Ví dụ 1
Dưới đây là ví dụ minh họa cách định dạng thành tiền tệ châu Âu (xin lưu ý rằng tham số thứ ba của hàm format-number() tham chiếu đến tên của phần tử <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>
Kết quả:
26.825,80