我有
<xsl:value-of select="DifferenceInDays" />
DifferenceInDays
的值可能是负数或正数,我想显示它的绝对值。该怎么做?
在XPath 1.0中使用以下表达式::
$vNum*($vNum >=0) - $vNum*($vNum < 0)
在XSLT(XML)属性中嵌入此表达式时,必须对<
字符进行转义:
$vNum*($vNum >=0) - $vNum*($vNum < 0)
在XPath 2.0(XSLT 2.0)中,使用abs()
函数。
<xsl:value-of select="abs(DifferenceInDays)"/>
有些答案对于XSLT 1.0而言过于复杂了,实际上它要简单得多。通过使用数字格式化,您可以定义正负数的结构,其中默认的负数是-0
,但您也可以定义自己的负数。
<xsl:value-of select='format-number(DifferenceInDays,"0;0")'/>
translate($number, '-', '')
。 - michael.hor257k