XSLT½Ì³Ì

XSLT <xsl:decimal-format> ÔªËØ
2007-3-30

·µ»Ø

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

 

·µ»Ø