HoCome posso calcolare il valore assoluto di un numero in XSLT?
<xsl:value-of select="DifferenceInDays" />
DifferenceInDays
può essere negativo o positivo, voglio visualizzarlo come positivo. Come posso fare questo?
HoCome posso calcolare il valore assoluto di un numero in XSLT?
<xsl:value-of select="DifferenceInDays" />
DifferenceInDays
può essere negativo o positivo, voglio visualizzarlo come positivo. Come posso fare questo?
Questo può essere ottenuto utilizzando la funzione xpath abs.
<xsl:value-of select="abs(DifferenceInDays)"/>
In XPath 1.0 (XSLT 1.0) usa la seguente espressione:
$vNum*($vNum >=0) - $vNum*($vNum < 0)
In XPath 2.0 (XSLT 2.0) utilizzare la funzioneabs()
.
diffInDays * (1 - 2 * (diffInDays & lt; 0))
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.
In quale processore funziona? –
dovrebbe funzionare a mio piacimento. La funzionalità numero-formato è fornita nelle specifiche XSLT 1.0. –
Hai provato questo con ** qualsiasi ** uno di loro? Se sì, in quale uno ha funzionato? –