我想检查一些值(即:42或41.0005)是否是ECL(HPCC)中的数字。 我想到了一个使用正则表达式的函数:
EXPORT IsNumeric(STRING UniqueID) := FUNCTION
regex:='^\\d+$';
RETURN REGEXFIND(regex, UniqueID);
END;
是否有内置的IsNumeric功能?
如果不是...... 有没有比使用正则表达式更好的方法呢? (兼顾可读性和性能)
注意:似乎在old versions of HPCC(2011)中这样的功能不存在。但是从那以后发生了许多发布。
答案 0 :(得分:2)
I asked如果官方HPCC论坛和 ECL中没有本机IsNumeric功能。
在答案中,有几个不错的ECL解决方法比我的好。最好的似乎是:
IsNumeric(STRING n) := n = (STRING)(DECIMAL)n;