2

我无法对变量中的值求和。

XSLT 源代码

 <xsl:variable name="amountIn" xml:space="preserve">
 <values>
 <xsl:for-each select="ext:node-set($finData)//child::balance/@in">
 <value><xsl:value-of select="."/></value>
 </xsl:for-each>
 </values>
 </xsl:variable>

XML 源:

 <source>
 <balance dpt="-1" diff="0,00" out="555777,00" in="555777,00" acnt="2120"/> 
 <balance dpt="-1" diff="0,00" out="777778,00" in="777778,00" acnt="2240"/> 
 <balance dpt="-1" diff="0,00" out="878787,00" in="878787,00" acnt="2380"/> 
 <balance dpt="-1" diff="0,00" out="87878787,00" in="87878787,00" acnt="2400"/>
 </source>

我希望这会给我结果,但我得到的只是“NaN”

 <xsl:value-of select="sum(ext:node-set($amountIn)/values/value)"/>
4

1 回答 1

4

你得到 NAN 是因为 , 在数字中使用翻译数字将其更改为 . 应该管用!

 <xsl:variable name="amountIn" xml:space="preserve">
 <values>
 <xsl:for-each select="ext:node-set($finData)//child::balance/@in">
 <value><xsl:value-of select="translate(.,',','.')"/></value>
 </xsl:for-each>
 </values>
 </xsl:variable>
于 2012-07-09T13:23:05.803 回答