如何在 xslt-1.0 中获取绝对值
Posted
技术标签:
【中文标题】如何在 xslt-1.0 中获取绝对值【英文标题】:How to get absolute value in xslt-1.0 【发布时间】:2021-10-30 05:26:54 【问题描述】:有没有一种方法可以获取 xslt-1.0 中数字的绝对值? abs() 函数有效,但在 xslt-2.0 中。
但我需要一种相同的 abs() 功能,但适用于 xslt-1.0
例如 => 输入 -1.5,预期输出 1.5
任何建议将不胜感激。
<xsl:value-of select="concat('-', abs(salesPrice/ns2:BelopFelt))"/>
可能会替换 abs(salesPrice/ns2:BelopFelt)
干杯
【问题讨论】:
【参考方案1】:你可以使用:
translate($input, '-', '')
或者,如果您愿意:
(2*($input > 0) - 1)*$input
请注意,某些 XSLT 1.0 处理器支持EXSLT math:abs()
extension function。
【讨论】:
不幸的是,数学没有运气:abs()。不过翻译没问题。它返回一个字符串。那么有什么办法可以将它转换回双精度可能是<xsl:value-of select="translate(-5, '-', '') + 3" />
返回“5”。 (并且没有 double 数据类型。)此外,无需连接减号即可将值转换为负数:只需使用 -$yourValue
。
你是对的。这解决了这个问题。非常感谢您的帮助。真的很感激以上是关于如何在 xslt-1.0 中获取绝对值的主要内容,如果未能解决你的问题,请参考以下文章