2014-10-30 75 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

的「男」值意味着您嘗試在爲空或不是有效的數字值使用的格式數()沒有工作。 你必須利用他們作爲數字之前測試值,並乘以它們是無用的(如果你沒有在其他地方使用它們)