2013-11-21 55 views
4

我有一個關於數字格式的問題。 在我的源XML我:XSLT 1.0:數字格式問題

<ValueDeltAbsol>1.358.68842</ValueDeltAbsol> 

現在,這實際上是1.358.688,42。所以我的問題是小數點完全丟失。所以我的想法是我刪除了。首先使用「translate()」,然後最後2位數字自動爲小數。

我曾嘗試以下

<xsl:value-of select="format-number(translate(ValueDelt,'.',''),'#.00')" /> 
<xsl:value-of select="format-number(translate(ValueDelt,'.',''),'#.##')" /> 
<xsl:value-of select="format-number(translate(ValueDelt,'.',''),'###,###.##')" /> 

分別給我135868842.00和135868842和135868842。

它只是無法使最後2位數爲小數。可以請別人告訴我是否可以做到我試圖實現的目標?

輸入:<ValueDeltAbsol>1.358.68842</ValueDeltAbsol> 預期輸出:<ValueDeltAbsol>1,358,688.42</ValueDeltAbsol>

非常感謝你, 彼得

回答

4

如果總是將是兩位數字是小數,你可以用100除以轉換值:

<xsl:value-of select="format-number(number(translate(ValueDelt,'.','')) div 100,'###,###.00')" /> 

輸出:

<ValueDeltAbsol>1,358,688.42</ValueDeltAbsol> 
+0

謝謝馬修,那完美的作品。 – Peter