如何在 XSLT 1.0 中格式化以下数字。输入有时是正数,有时是负数。
输入:
-4
-1
2
输出:
00000-4
00000-1
0000002
XSLT 在这里提供了可以帮助您的format-number
功能。
format-number(theNumber, '0000000')
会给你0000002
for2
和-0000004
for -4
。但是,如果您确实想在负数情况下将前导零放在减号之前,那么最简单的方法是将整个事情简单地视为字符串操作而不是数字格式。定义一个变量
<xsl:variable name="zeros" select="'0000000'" />
然后说类似
concat(substring($zeros, string-length(theNumber)+1), theNumber)
该substring
位计算出要添加多少前导零,例如,-4
它将采用$zeros
从第三个字符开始的子字符串,即五个零。