NaN 或 IsNumeric 的 ECL 等价物是啥?

Posted

技术标签:

【中文标题】NaN 或 IsNumeric 的 ECL 等价物是啥?【英文标题】:What is the ECL equivalent of NaN or IsNumeric?NaN 或 IsNumeric 的 ECL 等价物是什么? 【发布时间】:2016-10-25 14:27:26 【问题描述】:

我想检查某个值(即: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) 中不存在这样的功能。但是从那时起已经发布了许多版本。

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于NaN 或 IsNumeric 的 ECL 等价物是啥?的主要内容,如果未能解决你的问题,请参考以下文章

谜题30:循环者的爱子

ISNUMERIC() 不适用于小数

isnumeric() 与 PostgreSQL

Mysql如何ISNUMERIC()可用?

使用 IsNumeric 删除数据行

帮助在 Win7-64 上通过 mingw32 或 mingw-64 安装 ECL (Embeddable Common Lisp)