我的代码
<xsl:template name="sumScorest">
> <xsl:param name="pListt"/>
> <xsl:param name="pAccumt" select="0"/>
> <xsl:choose>
> <xsl:when test="$pListt">
> <xsl:variable name="vHeadt" select="$pListt[1]"/>
> <xsl:call-template name="sumScorest">
> <xsl:with-param name="pListt" select="$pListt[position() > 1]"/>
> <xsl:with-param name="pAccumt" select="$pAccumt + number(substring-before(substring-after($vHeadt,'*'),'#'))"/>
> </xsl:call-template>
> </xsl:when>
> <xsl:otherwise>
> <xsl:value-of select="$pAccumt"/>
> </xsl:otherwise>
> </xsl:choose>
> </xsl:template>
我调用代码的地方
<xsl:call-template name="sumScorest">
<xsl:with-param name="pListt" select="//n1:DespatchAdvice/cac:DespatchLine/cac:Item/cbc:Description"/>
</xsl:call-template>
输出是这样的数字(8795,885558844877),我希望小数点后有2位数字。我还希望数字以千位分隔符输出(8.795,88)。
尝试改变:
<xsl:otherwise>
<xsl:value-of select="$pAccumt"/>
</xsl:otherwise>
至:
<xsl:otherwise>
<xsl:value-of select="format-number($pAccumt, '#.##0,00', 'european')"/>
</xsl:otherwise>