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
ビットは、追加する先行ゼロの数を計算します。たとえば、3 番目の文字から始まる-4
部分文字列、つまり 5 つのゼロを取得します。$zeros