Как форматировать числа ниже в XSLT 1.0. Входные данные: иногда положительное число, а иногда отрицательное.
Ввод:
-4
-1
2
Выход:
00000-4
00000-1
0000002
1 ответ
XSLT предоставляет функцию format-number
, которая может вам здесь помочь.
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
, начинающаяся с третьего символа, то есть с пяти нулей.
Похожие вопросы
Новые вопросы
xslt
XSLT - это язык преобразования XML, предназначенный для преобразования структурированных документов в другие форматы (например, XML, HTML и простой текст или, в XSLT 3, JSON). Вопросы должны использовать один из тегов xslt-1.0, xslt-2.0 или xslt-3.0 в зависимости от ситуации.