Definition and Usage
¶¨ÒåºÍÓ÷¨
The <xsl:decimal-format> element defines the characters and symbols to be used when converting numbers into strings, with the format-number() function.
<xsl:decimal-format>ÔªËØµÄ×÷ÓÃÊÇ£º¶¨ÒåÁ˽«Êý×Öת»»Îª×Ö·ûʱËùÒªÓõ½µÄ×Ö·ûºÍ·ûºÅ£¨Ê¹ÓÃformat-number()º¯Êý£©¡£
All countries do not use the same characters for separating the decimal part from the integer part, and for grouping digits. With the <xsl:decimal-format> element you can change special characters to other symbols.
ËùÓеĹú¼Ò¶¼Ê¹ÓÃÏàͬµÄ×Ö·ûÀ´·Ö¸ôСÊý²¿·ÖºÍÕûÊý²¿·Ö£¬»ò¶ÔÊýλ½øÐзÖ×顣ͨ¹ý<xsl:decimal-format>ÔªËØ£¬Äã¿ÉÒÔ½«Ö¸¶¨µÄ×Ö·û¸Ä±äΪÆäËû·ûºÅ¡£
This element is a top level element.
Õâ¸öÔªËØÊÇÒ»¸ö¶¥¼¶ÔªËØ¡£
The format-number() function can refer to the <xsl:decimal-format> element by name.
format-number()º¯Êý¿ÉÒÔͨ¹ýÃû³Æ²éÔÄ<xsl:decimal-format>ÔªËØ¡£
Syntax
Óï·¨
<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"/> |
Attributes
ÊôÐÔ
| ÊôÐÔ | Öµ | ÃèÊö |
|---|---|---|
| name | name | Optional. Specifies a name for this format ¿ÉÑ¡²ÎÊý¡£Ö¸¶¨¸ñʽÃû³Æ |
| decimal-separator | char | Optional. Specifies the decimal point character. Default is "." ¿ÉÑ¡²ÎÊý¡£Ö¸¶¨Ð¡Êýµã×Ö·û£¬Ä¬ÈÏΪ“.” |
| grouping-separator | char | Optional. Specifies the thousands separator character. Default is "," ¿ÉÑ¡²ÎÊý¡£Ö¸¶¨Ç§Î»·Ö¸ô×Ö·û£¬Ä¬ÈÏΪ“,” |
| infinity | string | Optional. Specifies the string used to represent infinity. Default is "Infinity" ¿ÉÑ¡²ÎÊý¡£Ö¸¶¨´ú±í“ÎÞÏÞ´ó”µÄ×Ö·û£¬Ä¬ÈÏΪ“Infinty” |
| minus-sign | char | Optional. Specifies the character to represent negative numbers. Default is "-" ¿ÉÑ¡²ÎÊý¡£Ö¸¶¨Á˸ºÊý×Ö·û£¬Ä¬ÈÏΪ“-” |
| NaN | string | Optional. Specifies the string used when the value is not a number". Default is "NaN" ¿ÉÑ¡²ÎÊý¡£Ö¸¶¨ÁË·ÇÊý×Ö×Ö·û£¬Ä¬ÈÏΪ“NaN” |
| percent | char | Optional. Specifies the percentage sign character. Default is "%" ¿ÉÑ¡²ÎÊý¡£Ö¸¶¨Á˰ٷֺÅ×Ö·û£¬Ä¬ÈÏΪ“%” |
| per-mille | char | Optional. Specifies the per thousand sign character. Default is "‰" ¿ÉÑ¡²ÎÊý¡£Ö¸¶¨ÁËǧ·ÖºÅ×Ö·û¡£Ä¬ÈÏΪ“‰” |
| zero-digit | char | Optional. Specifies the digit zero character. Default is "0" ¿ÉÑ¡²ÎÊý¡£Ö¸¶¨ÁË0λ×Ö·û£¬Ä¬ÈÏΪ0 |
| digit | char | Optional. Specifies the character used to indicate a place where a digit is required. Default is # ¿ÉÑ¡²ÎÊý¡£Ö¸¶¨ÁËÊýλ×Ö·û£¬Ä¬ÈÏֵΪ“#” |
| pattern-separator | char | Optional. Specifies the character used to separate positive and negative subpatterns in a format pattern. Default is ";" ¿ÉÑ¡²ÎÊý¡£Ö¸¶¨Á˸ñʽÑùʽÖÐÓÃÓÚ·Ö¸ôÕý¡¢¸º¶þ¼¶ÑùʽµÄ×Ö·û |
Example 1
°¸Àý1
The example below shows how to format to European currency (note that the third argument in format-number() refers to the name of the <xsl:decimal-format> element:
ÏÂÃæµÄ°¸ÀýչʾÁËÈçºÎ¸ñʽ»¯ÎªÅ·ÖÞ»õ±Ò£¨×¢Ò⣺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 |