2014-10-30 48 views
-1

我是xsl的新手,并且有问题。当我尝试做以下事情时,我总是会得到“NaN”:xsl“value-of”数学与“format-number”变量

<xsl:variable name="amount" select="format-number(ARTICLE_PRICE/PRICE_LINE_AMOUNT, '0,00')" /> 
<xsl:variable name="quantity" select="format-number($quantity, '0,0#')"/> 
<xsl:value-of select="format-number($amount * $quantity, '0,00')" /> 

有人能告诉我我做错了什么吗?

+1

你能否告诉我们在输入值之前格式化呢? – 2014-10-30 14:38:35

回答

1

一个可能的原因出的几个:

的格式数()的结果是一个字符串;如果字符串不能转换回数字 - 例如,如果它包含一个逗号 - 那么你不能乘以它。

0

好吧,如果我不喜欢这样写道:

<xsl:variable name="quantity" select="format-number($quantity, '0,0#')"/> 
<xsl:value-of select="format-number(ARTICLE_PRICE/PRICE_LINE_AMOUNT * $quantity, '0,00')" /> 

它的工作原理。仍然好奇,为什么,如果我设定的变量“量” ..

+0

“*它有效。*”不,它不。你有一个循环定义。而你的格式字符串格式不正确。 – 2014-10-30 18:06:28

0

的“男”值意味着您尝试在为空或不是有效的数字值使用的格式数()没有工作。 你必须利用他们作为数字之前测试值,并乘以它们是无用的(如果你没有在其他地方使用它们)