我们有一个 XML 中的数字,在一个大型 XML 文件中最多可以有 3 位数字,必须将其转换为固定长度的文本才能加载到另一个系统中。
我需要在输出中用前导零填充到 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')"/>
返回'NaN'
那么我做错了什么,最好的方法是什么?