在2.0版XSLT中,如何计算数字的绝对值
我想取TaxAmount的绝对值,但我尝试了ABS函数,它不起作用。你知道吗 我的版本是2.0。 我尝试在Internet Explorer上使用xml文件 我想把它显示为积极的,有时它可以是消极的,也可以是积极的在2.0版XSLT中,如何计算数字的绝对值,xslt,Xslt,我想取TaxAmount的绝对值,但我尝试了ABS函数,它不起作用。你知道吗 我的版本是2.0。 我尝试在Internet Explorer上使用xml文件 我想把它显示为积极的,有时它可以是消极的,也可以是积极的 <div style="float:left; width:100pt"> <h2> :<xsl:value-of select="fo
<div style="float:left; width:100pt">
<h2>
:<xsl:value-of select="format-number(cbc:TaxAmount,'#,##0.00', 'us')"/>
</h2>
</div>
:
您可以使用abs()函数
您可以使用if语句
<xsl:choose>
<xsl:when test="cbc:TaxAmount < 0">
<xsl:value-of select="format-number(cbc:TaxAmount * -1,'#,##0.00', 'us')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="format-number(cbc:TaxAmount,'#,##0.00', 'us')"/>
</xsl:otherwise>
</xsl:choose>
或者,如果其PositiveInternetExplorer不支持xslt 2.0,因此无法识别abs()函数,则创建一个将值乘以-1的变量。XSLT1.0中最简单的方法是将其转换为字符串,去掉任何“-”,然后再转换回数字:number(translate(string($x),“-”,”)
。(我在这里通过显式函数显示了转换,但如果您愿意,可以依赖隐式转换)。@MichaelKay我尝试了您的风格,但我发现数字格式错误<代码>:无法帮助您,因为您没有提供足够的上下文,我需要查看完整的源文档和完整的样式表。
<xsl:choose>
<xsl:when test="cbc:TaxAmount < 0">
<xsl:value-of select="format-number(cbc:TaxAmount * -1,'#,##0.00', 'us')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="format-number(cbc:TaxAmount,'#,##0.00', 'us')"/>
</xsl:otherwise>
</xsl:choose>