标题:判断一个字符串是否纯数字,有无更优雅的算法?
只看楼主
plsword
Rank: 2
等 级:论坛游民
威 望:1
帖 子:21
专家分:24
注 册:2015-10-19
得分:0 
这是我用来检测字串是否能用Val()精准转换数字的代码

PARAMETERS str
PRIVATE tmp
IF EMPTY(str)
    RETURN .t.
ENDIF
tmp=OCCURS("-",ALLTRIM(str))
DO CASE
    CASE tmp>1
        RETURN .f.
    CASE tmp=1
        IF LEFT(ALLTRIM(str),1)<>"-"
            RETURN .f.
        ENDIF
ENDCASE
tmp=OCCURS("+",ALLTRIM(str))
DO CASE
    CASE tmp>1
        RETURN .f.
    CASE tmp=1
        IF LEFT(ALLTRIM(str),1)<>"+"
            RETURN .f.
        ENDIF
ENDCASE
IF OCCURS(".",ALLTRIM(str))>1
    RETURN .f.
ENDIF
IF OCCURS(" ",ALLTRIM(str))>0
    RETURN .f.
ENDIF
IF EMPTY(CHRTRAN(ALLTRIM(str), '+|-|.|0|1|2|3|4|5|6|7|8|9', ''))
    RETURN .t.
ELSE
    RETURN .f.
ENDIF
2022-11-15 16:52
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
chrtran()如何?

坚守VFP最后的阵地
2022-11-15 17:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-510150-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.235580 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved