XSLT <xsl:decimal-format> 元素

定义和用法

<xsl:decimal-format> 元素定义了当通过 format-number() 函数把数字转换为字符串时,所要使用的字符和符号。

不是所有国家都使用相同的字符来分隔小数与整数的部分,或者对数字进行分组。通过 <xsl:decimal-format> 元素,您可以把具体到字符更改为其他的符号。

该元素是顶层的元素(top level)。

format-number() 函数可通过名称(name)来引用 <xsl:decimal-format> 元素。

语法

  1. <xsl:decimal-format
  2. name="name"
  3. decimal-separator="char"
  4. grouping-separator="char"
  5. infinity="string"
  6. minus-sign="char"
  7. NaN="string"
  8. percent="char"
  9. per-mille="char"
  10. zero-digit="char"
  11. digit="char"
  12. 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 的字符。默认是 "0"。
digit char 可选。规定字符,该字符用于指示需要使用数字的地方。默认是 #。
pattern-separator char. 可选。规定字符,该字符用于分隔格式模式中的正负次模式。默认是 ";"。

实例

例子 1

下面的例子展示了,如何格式化为欧洲货币(请注意,format-number() 函数中的第三个参数引用了 <xsl:decimal-format> 元素的名称):

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsl:stylesheet version="1.0"
  3. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  4.  
  5. <xsl:decimal-format name="euro" decimal-separator="," grouping-separator="."/>
  6.  
  7. <xsl:template match="/">
  8. <xsl:value-of select="format-number(26825.8, '#.###,00', 'euro')"/>
  9. </xsl:template>
  10.  
  11. </xsl:stylesheet>

输出:

  1. 26.825,80