Как я могу вычислить абсолютное значение числа в XSLT?

Я имею

<xsl:value-of select="DifferenceInDays" /> 

DifferenceInDays может быть отрицательным или положительным, я хочу отобразить его как положительный. Как я могу сделать это?

13
задан Dimitre Novatchev 30 June 2019 в 20:34
поделиться

3 ответа

diffInDays * (1 - 2*(diffInDays < 0))

1
ответ дан 1 December 2019 в 19:23
поделиться

Этого можно достичь с помощью функции xpath abs.

<xsl:value-of select="abs(DifferenceInDays)"/>
6
ответ дан 1 December 2019 в 19:23
поделиться

В XPath 1.0 используйте следующее выражение :

   $vNum*($vNum >=0) - $vNum*($vNum < 0)

Если это выражение встроено в атрибут XSLT (XML), символ < должен быть экранирован :

   $vNum*($vNum >=0) - $vNum*($vNum &lt; 0)

В XPath 2.0 (XSLT 2.0) используйте функцию abs () .

30
ответ дан 1 December 2019 в 19:23
поделиться