ゲームを作りたい人のための ソースコード集

私がその日作った短めのソースを簡単な解説とともに載せていきます
ゲーム制作初心者にとって参考になるかもしれないソースが多いです


<< 六角形を隙間なく並べる | main |



文字列の数値判定

文字列型変数は「int」関数を使うことで数字に変換することが出来ますが

半角英字などを変換した場合「0」という数値が返されます

そのため元の文字が"0"という文字だったのか、それ以外の文字だったのは判別がつきません

以下のコードは、変換前の文字列を調べてその文字列が数値だったかどうかを判定するプログラムです


#module
#defcfunc str_num str p1
    tp1=p1
    numflg=0
    dblflg=0
    repeat strlen(tp1)
        code=peek(tp1,cnt)
        if ((code>=129)&(code<=159))|((code>=224)&(code<=252)){    ;2byte文字
            break
        }else:if code=43|code=45{    ;+or-
        }else:if code=46{    ;.
            dblflg=1
        }else:if code<48|57<code{    ;半角文字    
            break
        }else{
            numflg=1
        }
    loop
    mref _stat,64
    _stat = numflg
    if dblflg{
        return double(tp1)
    }else{
        return int(tp1)
    }
#deffunc check str p1
    ans=str_num(p1)
    if stat{
        mes""+p1+"¥t->¥t"+ans+"¥t数値"
    }else{
        mes""+p1+"¥t->¥t¥t数値ではない"
    }
    return
#global
check("012")
check("-12")
check("-12a3")
check("-a3")
check("a3")
check(".12")
check(".a12")
check("-.a12")

0
    posted by higashijugem 22:34comments(0)|-|


    この記事に対するコメント