負の値を正にする方法があるかどうか疑問に思っていましたか? これが私の xslt ドキュメントのスニペットです。
<NumberOfLinesAtRate>
<xsl:value-of select="number(/xsales:Qty)" />
</NumberOfLinesAtRate>
問題は、Qty
元の XML ドキュメントでは、この値が -1、-2 などの負の値になる場合があることです。変換されたドキュメントでこれを常に正にする方法はありますか?
負の値を正にする方法があるかどうか疑問に思っていましたか? これが私の xslt ドキュメントのスニペットです。
<NumberOfLinesAtRate>
<xsl:value-of select="number(/xsales:Qty)" />
</NumberOfLinesAtRate>
問題は、Qty
元の XML ドキュメントでは、この値が -1、-2 などの負の値になる場合があることです。変換されたドキュメントでこれを常に正にする方法はありますか?
XSLT1.0 を使用している場合は、この式を使用できます (簡潔にするために名前空間を省略しました)。
<xsl:value-of select="Qty * (Qty >= 0) - Qty * not(Qty >= 0)" />
XSLT2.0 には、使用できる専用のabs演算子があります。
<xsl:value-of select="abs(Qty)" />
これはかなり簡潔な方法です。
<xsl:value-of select="Qty * (1 - 2 * (Qty < 0))" />