Reputation: 3770
I have
<xsl:value-of select="DifferenceInDays" />
DifferenceInDays
has a value that can be a negative or a positive number, I want to display its absolute value. How can I do this?
Upvotes: 16
Views: 28472
Reputation: 243529
In XPath 1.0 use the following expression:
$vNum*($vNum >=0) - $vNum*($vNum < 0)
In case this expression is embedded in an XSLT (XML) attribute, the <
character must be escaped:
$vNum*($vNum >=0) - $vNum*($vNum < 0)
In XPath 2.0 (XSLT 2.0) use the abs()
function.
Upvotes: 36
Reputation: 183
Some of the answers are complicating life way too much for XSLT 1.0 it's actually much simpler. Using the number formatting you can define a structure for Positive and Negative numbers, the default negative is -0
however you can define your own.
<xsl:value-of select='format-number(DifferenceInDays,"0;0")'/>
The above code will show the absolute value of Difference in Days just by using the provided formatting function.
Upvotes: 6
Reputation: 155
This can be achieved using the xpath abs function.
<xsl:value-of select="abs(DifferenceInDays)"/>
Upvotes: 6