我的输入xml文件中有一个noumber,如 19778.40 ,但我想在输出xml文件中更改为 19778,40 (逗号而不是点) XSLT。
如何格式化此数字?我不想使用任何模板。
答案 0 :(得分:5)
您可以使用translate()函数。作为一个例子,这个XSLT 1.0样式表......
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:variable name="the-number" select="*/text()" />
The input number with European formatting is <xsl:value-of select="translate($the-number,'.',',')" />
</xsl:template>
</xsl:stylesheet>
...将改变这一输入...
<t>19778.40</t>
......进入这个......
The input number with European formatting is 19778,40
或强>
使用format-number()函数,如...
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:decimal-format name="euro" decimal-separator="," grouping-separator="." />
<xsl:template match="/">
<xsl:variable name="the-number" select="*/text()" />
The input number with European formatting is <xsl:value-of select="format-number($the-number,'#,00','euro')" />
</xsl:template>
</xsl:stylesheet>