1

如何在 XSLT 1.0 中格式化以下数字。输入有时是正数,有时是负数。

输入:

-4
-1
2

输出:

00000-4
00000-1
0000002
4

1 回答 1

5

XSLT 在这里提供了可以帮助您的format-number功能。

format-number(theNumber, '0000000')

会给你0000002for2-0000004for -4。但是,如果您确实想在负数情况下将前导零放在减号之前,那么最简单的方法是将整个事情简单地视为字符串操作而不是数字格式。定义一个变量

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

然后说类似

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

substring位计算出要添加多少前导零,例如,-4它将采用$zeros从第三个字符开始的子字符串,即五个零。

于 2013-10-14T10:29:51.977 回答