我有
<xsl:value-of select="DifferenceInDays" />
DifferenceInDays
可能是消极的或积极的,我想将其显示为正面。我怎么能这样做?
答案 0 :(得分:30)
在XPath 1.0中使用以下表达式:
$vNum*($vNum >=0) - $vNum*($vNum < 0)
如果此表达式嵌入在XSLT(XML)属性中,则必须转义<
字符:
$vNum*($vNum >=0) - $vNum*($vNum < 0)
在XPath 2.0(XSLT 2.0)中使用abs()
函数。
答案 1 :(得分:6)
这可以使用xpath abs函数来实现。
<xsl:value-of select="abs(DifferenceInDays)"/>
答案 2 :(得分:1)
diffInDays *(1 - 2 *(diffInDays&amp; lt; 0))
答案 3 :(得分:-1)
对于XSLT 1.0来说,有些答案使生活过于复杂,实际上要简单得多。使用数字格式,您可以定义正数和负数的结构,默认负数为-0
,但您可以定义自己的数字。
<xsl:value-of select='format-number(DifferenceInDays,"0;0")'/>
以上代码仅使用提供的格式化功能显示“天数差异”的绝对值。