来自 xml 输入的 Xslt 格式编号
Xslt format-number from xml input
我有一个输入xml文件
<elementOne>
<elementTwo>
<RequestItem>
<elementThree>
<value>314.4</value>
</elementThree>
</RequestItem>
</elementTwo>
</elementOne>
和下面的 xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes" />
<xsl:decimal-format name="euro" decimal-separator="." grouping-separator=","/>
<xsl:template match="/*">
<Value>
<xsl:value-of select="format-number(sum(/elementOne/elementTwo/RequestItem/elementThree/value/text()),'##,00')"/>
</Value>
</xsl:template>
</xsl:stylesheet>
我根据网上的资料试了很多方法都没有
管理输出为 314,40
首先,如果你希望小数点分隔符是逗号,你必须这样定义它:
<xsl:decimal-format name="euro" decimal-separator="," grouping-separator="."/>
然后,如果您定义了小数格式,还必须告诉样式表使用它:
<xsl:value-of select="format-number(sum(/elementOne/elementTwo/RequestItem/elementThree/value), '#,00', 'euro')"/>
或者,如果您还希望应用定义的千位分隔符:
<xsl:value-of select="format-number(sum(/elementOne/elementTwo/RequestItem/elementThree/value), '#.###,00', 'euro')"/>
我有一个输入xml文件
<elementOne>
<elementTwo>
<RequestItem>
<elementThree>
<value>314.4</value>
</elementThree>
</RequestItem>
</elementTwo>
</elementOne>
和下面的 xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes" />
<xsl:decimal-format name="euro" decimal-separator="." grouping-separator=","/>
<xsl:template match="/*">
<Value>
<xsl:value-of select="format-number(sum(/elementOne/elementTwo/RequestItem/elementThree/value/text()),'##,00')"/>
</Value>
</xsl:template>
</xsl:stylesheet>
我根据网上的资料试了很多方法都没有 管理输出为 314,40
首先,如果你希望小数点分隔符是逗号,你必须这样定义它:
<xsl:decimal-format name="euro" decimal-separator="," grouping-separator="."/>
然后,如果您定义了小数格式,还必须告诉样式表使用它:
<xsl:value-of select="format-number(sum(/elementOne/elementTwo/RequestItem/elementThree/value), '#,00', 'euro')"/>
或者,如果您还希望应用定义的千位分隔符:
<xsl:value-of select="format-number(sum(/elementOne/elementTwo/RequestItem/elementThree/value), '#.###,00', 'euro')"/>