【问题标题】:What is the ECL equivalent of NaN or IsNumeric?NaN 或 IsNumeric 的 ECL 等价物是什么?
【发布时间】:2026-01-25 10:25:01
【问题描述】:

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

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

是否有内置的 IsNumeric 函数?

如果没有... 有没有比使用正则表达式更好的方法? (兼顾可读性和性能)

  • 可能是 ECL 命令?
  • 性病功能?
  • 铸造?
  • #GetDataType?
  • str.filter?

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

【问题讨论】:

    标签: hpcc hpcc-ecl


    【解决方案1】:

    asked 如果官方 HPCC 论坛和 ECL 中没有原生 IsNumeric 函数

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

    IsNumeric(STRING n) := n = (STRING)(DECIMAL)n;
    

    【讨论】: