XSLT <xsl:decimal-format> 元素

  • 定义和使用

    <xsl:decimal-format> 元素使用 format-number() 函数定义将数字转换为字符串时要使用的字符和符号。
    并非所有国家都使用相同的字符来分隔小数部分和整数部分,以及对数字进行分组。和 <xsl:decimal-format> 元素可以将特殊字符更改为其他符号。
    此元素是顶级元素。
    format-number() 函数可以引用 <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"/>
  • 参数

    属性 描述
    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"
    digit char 可选。指定用于指示需要数字的位置的字符。默认为 #
    pattern-separator char 可选。指定用于在格式模式中分隔正反子模式的字符。默认为 ";"
  • 示例

    下面的示例显示了如何格式化为欧洲货币(注意,format-number() 的第三个参数引用的是 <xsl:decimal-format> 要素:
    <?xml version="1.0" encoding="UTF-8"?>
    <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>
    
    Output:
    
    26.825,80