如何在XSLT 1.0中格式化数字以下。输入有时是正数,有时是负数。
输入:
-4
-1
2
输出:
00000-4
00000-1
0000002
答案 0 :(得分:4)
XSLT提供的format-number
function可能会对您有所帮助。
format-number(theNumber, '0000000')
会为0000002
提供2
,为-0000004
提供-4
。但是如果你真的想在负面情况下将前导零置于减号之前,那么最简单的方法就是简单地将整个事物视为字符串操作而不是数字格式。定义变量
<xsl:variable name="zeros" select="'0000000'" />
然后说出类似
的内容concat(substring($zeros, string-length(theNumber)+1), theNumber)
substring
位计算要添加的前导零数,例如对于-4
,它将从第三个字符开始采用$zeros
的子字符串,即五个零。