【发布时间】:2012-12-14 11:07:40
【问题描述】:
我正在寻找一个类似于 PHP 函数 is_numeric() 的 Visual FoxPro 函数。
我找到了this,但我无法使用VARTYPE 或TYPE,因为变量始终是仅包含数字的字符串。
我找到了ISDIGIT() 函数,但手册上说它只检查第一个字符。
判断是否是指定字符的最左边字符 表达式是一个数字(0 到 9)。
ISDIGIT(cExpression)参数
cExpression指定 ISDIGIT( ) 测试的字符表达式。任何 cExpression 中第一个字符之后的字符将被忽略。
我会使用正则表达式对象VBScript.RegExp创建自己的函数
FUNCTION isNumeric( tcValue )
LOCAL oRE
oRE = CreateObject("VBScript.RegExp")
oRE.Pattern = '^[0-9]+$'
RETURN oRE.test( tcValue )
ENDFUNC
? isNumeric( '123' )
但是,FoxPro 是否为此提供了任何功能?
我只是俯瞰吗?
ISALHPA() 也一样,它确定字符表达式中最左边的字符是否为字母。我想检查变量是否只包含字母。
【问题讨论】:
-
不,没有语言功能可以做到这一点。像 Frank 在下面发布的函数是唯一的方法。
标签: string function foxpro visual-foxpro digits