【MQL4】数値かどうかを知りたい。

女性に年齢を聞くのは失礼なので、好きな歌や、高校の時によく聞いた歌って何と聞くと案外年齢が推測できることを発見したセレブパンダだお。

入力された値が数値かどうかを判断する関数は、MQL4では用意されていません。その話題です。

こんな人が対象です。

  • 数値かどうか、どうやって判断しているか知りたい人。

サンプル

関数にすると便利です。(そのままコピペで使えます)

bool isNumber(string s)
{
    for(int iPos = StringLen(s) - 1; iPos >= 0; iPos--)
    {
        int c = StringGetCharacter(s, iPos);
        if( (c < '0' || c > '9') && c != '.') return false;
    }
    return true;
}

文字列を1文字ずつ切取り、切り取った1文字が0から9または.でない場合は、数値でないとしてfalseを返す作りにしています。

使い方

if ( isNumber("1234.3") ){
    Print("数値です");
} else {
    Print("数値でないです");
}

ライブラリにしておくと便利です。

では、まただお。

Twitterでフォローしよう

おすすめの記事