我想检查一些值(即: 42或41.0005)是否是ECL (HPCC)中的一个数字。我想到一个使用正则表达式的函数,如下所示:
EXPORT IsNumeric(STRING UniqueID) := FUNCTION
regex:='^\\d+$';
RETURN REGEXFIND(regex, UniqueID);
END;有内置的IsNumeric函数吗?
如果不是..。有比使用regex更好的方法吗?(从可读性和性能两方面考虑)
注:似乎在HPCC的旧版本 (2011年)中不存在这样的功能。但是从那以后,很多版本都发生了。
发布于 2016-11-09 10:10:57
I 已询问,如果官方的HPCC论坛和,在ECL中没有本地IsNumeric函数。
在答案中有几个不错的ECL解决方案比我的更好。最好的办法似乎是:
IsNumeric(STRING n) := n = (STRING)(DECIMAL)n;https://stackoverflow.com/questions/40242659
复制相似问题