2013-10-14 53 views
0

如何在XSLT 1.0中格式化數字以下的數字。輸入有時是正數,有時是負數。將前導零添加到XSLT 1.0中的負數

輸入:

-4 
-1 
2 

輸出:

00000-4 
00000-1 
0000002 
+0

是你的當前輸出還是你想要的輸出? –

+0

這是我所需的輸出。 – sum

回答

3

XSLT提供format-number function這可以幫助你在這裏。

format-number(theNumber, '0000000') 

會給你-400000022-0000004。但是如果你確實想把負號前面的負號前面的零置於負數的情況下,那麼最簡單的方法就是簡單地將整個事件視爲字符串操作而不是數字格式。定義一個變量

<xsl:variable name="zeros" select="'0000000'" /> 

,然後這樣說

concat(substring($zeros, string-length(theNumber)+1), theNumber) 

substring位的作品有多少前導零添加,例如對於-4,它將從第三個字符(即五個零)開始的子字符串$zeros