2009-04-29 6 views

risposta

6

Questo può essere ottenuto utilizzando la funzione xpath abs.

<xsl:value-of select="abs(DifferenceInDays)"/> 
30

In XPath 1.0 (XSLT 1.0) usa la seguente espressione:

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

In XPath 2.0 (XSLT 2.0) utilizzare la funzioneabs().

1

diffInDays * (1 - 2 * (diffInDays & lt; 0))

-1

Alcune delle risposte sono complicando modo troppo la vita per XSLT 1.0 in realtà è molto più semplice. Utilizzando la formattazione del numero è possibile definire una struttura per i numeri positivi e negativi, il negativo predefinito è -0, tuttavia è possibile definire il proprio.

<xsl:value-of select='format-number(DifferenceInDays,"0;0")'/> 

Il codice precedente mostrerà il valore assoluto di Differenza in giorni semplicemente utilizzando la funzione di formattazione fornita.

+0

In quale processore funziona? –

+0

dovrebbe funzionare a mio piacimento. La funzionalità numero-formato è fornita nelle specifiche XSLT 1.0. –

+0

Hai provato questo con ** qualsiasi ** uno di loro? Se sì, in quale uno ha funzionato? –

Problemi correlati