2

我想检查某个值(即:42 或 41.0005)是否是 ECL(HPCC)中的数字。我想到了一个使用正则表达式的函数,如下所示:

EXPORT IsNumeric(STRING UniqueID) := FUNCTION
        regex:='^\\d+$';       
        RETURN REGEXFIND(regex, UniqueID);    
END;

有内置的 IsNumeric 函数吗?

如果没有...有没有比使用 regex 更好的方法?(兼顾可读性和性能)

  • 也许是 ECL 命令?
  • 性病功能?
  • 铸件?
  • #获取数据类型?
  • str.filter?

注意:似乎在旧版本的 HPCC (2011) 中不存在此类功能。但是从那时起已经发布了许多版本。

4

1 回答 1

2

是否官方 HPCC 论坛和ECL 中没有原生 IsNumeric 函数

在答案中,有几个比我更好的 ECL 解决方法。最好的似乎是:

IsNumeric(STRING n) := n = (STRING)(DECIMAL)n;
于 2016-11-09T10:10:57.340 回答