我想知道是否有办法使负值变为正值?这是我的 xslt 文档的片段:
<NumberOfLinesAtRate>
<xsl:value-of select="number(/xsales:Qty)" />
</NumberOfLinesAtRate>
问题是,在我的原始 XML 文档中,有时这个Qty
值可能是负数、-1、-2 等。有没有办法让我在转换后的文档中始终保持积极状态?
我想知道是否有办法使负值变为正值?这是我的 xslt 文档的片段:
<NumberOfLinesAtRate>
<xsl:value-of select="number(/xsales:Qty)" />
</NumberOfLinesAtRate>
问题是,在我的原始 XML 文档中,有时这个Qty
值可能是负数、-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))" />