什么是ECL等效的NaN或IsNumeric?

时间:2016-10-25 14:27:26

标签: hpcc hpcc-ecl

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

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

是否有内置的IsNumeric功能?

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

  • 也许是ECL命令?
  • STD功能?
  • 铸造?
  • #GetDataType?
  • str.filter?

注意:似乎在old versions of HPCC(2011)中这样的功能不存在。但是从那以后发生了许多发布。

1 个答案:

答案 0 :(得分:2)

I asked如果官方HPCC论坛和 ECL中没有本机IsNumeric功能

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

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