我們有一個XML數字,它可以在一個大的XML文件中達到3位數,該文件必須轉換爲固定長度的文本才能加載到另一個系統中。XSLT 1.0中帶有前導零的填充數
我需要墊此與輸出前導零到15的長度(其爲固定長度的文本)
實例:
- 1 becomes 000000000000001
- 11 becomes 000000000000011
- 250 becomes 000000000000250
我嘗試這樣做:
<xsl:value-of select="substring(concat('000000000000000', msg:BankAccount/msg:Counter), 12, 15)"/>
在開始時得到15個零並取出子字符串,但是我必須在子字符串中出錯,因爲在結果中我得到了
0000000000000000000000009LLOYDS BANK PLC
00000000000000000000000010LLOYDS BANK PLC
我也試過format-number
但我把它返回NaN
<xsl:value-of select="format-number(msg:BankAccount/msg:Counter, '000000000000000')"/>
回報「男」
所以我做了什麼錯的,什麼是做到這一點的最好方法是什麼?
是否'味精:Counter'有 「勞埃德銀行PLC」 在它結束了嗎? 'format-number()'只適用於數字。 – JLRishe 2014-09-04 09:49:41
不,它只有一個數字,我保存在'LLOYDS BANK PLC'中以顯示錯誤導致的效果。 – 2014-09-04 09:51:42
如果msg:Counter是一個數字,那麼沒有理由format-number應該返回NaN。你沒有告訴我們有什麼問題。 – 2014-09-04 13:22:31