我可以使用xpath获取数字的符号

时间:2015-04-24 14:52:50

标签: xpath xpath-2.0

我想使用XPath获取数字的符号。在Xpath中是否有内置函数或变通方法。

作为一个例子:当我通过-3.23它应该返回" - "对于3.23,它应该返回" +"

2 个答案:

答案 0 :(得分:1)

使用此XPath 2.0表达式

'+'[$x ge 0], '-'[$x lt 0]

其中$ x是需要签名的号码。

这个更短,效率更高(只进行一次比较):

('+'[$x ge 0], '-')[1]

使用此XPath 1.0表达式

substring('+-', 2 - ($x  >= 0), 1)

<强>解释: 该表达式生成字符串'+-'的子字符串,长度为1,偏移量由2 - ($x >= 0)确定 - 我们使用的事实是,在XPath 1.0中,如果布尔值是算术运算的参数,{ {1}}转换为true()1转换为false()

答案 1 :(得分:0)

您可以通过将数字与0进行比较来获得隐含的符号:

if ($num >= 0) then '+' else '-'