トップページ >  C# >  C#で数値チェック
初版2012/07/13: 最終更新日2012/07/13
  C#で数値チェック
目次
C#で数値チェック
C#で数値チェック(IsNumber)
C#で文字列を数値チェック
C#で数値チェック
C#で厳密に半角数値チェックするには正規表現を使用します。
System.Text.RegularExpressions.Regex.IsMatchメソッドを使用します。
以下、サンプルです。

using System;

class a{
    static void Main(){
        string str1 = "123";
        if(System.Text.RegularExpressions.Regex.IsMatch(str1,"^[0-9]+$") == true)
        {
            Console.WriteLine(str1);
        }
        
        string str2 = "12345";
        if(System.Text.RegularExpressions.Regex.IsMatch(str2,"^[0-9]+$") == true)
        {
            Console.WriteLine(str2);
        }
        else
        {
            Console.WriteLine("not numeric.");
        }
    }
}
結果は以下のように半角数値だけが評価されます。

123
not numeric.
C#で数値チェック(IsNumber)
C#で全角半角関係なく数値チェックするにはchar.IsNmberメソッドを使用します。
このメソッドを使用すると全角数値でも漢数字でもtrueと判断します。
以下、サンプルです。

using System;

class a{
    static void Main(){
        if(char.IsNumber('5'))
        {
            Console.WriteLine("numeric");
        }
        
        if(char.IsNumber('5'))
        {
            Console.WriteLine("numeric");
        }

        if(char.IsNumber('五'))
        {
            Console.WriteLine("numeric");
        }
    }
}
結果は以下のように全部数値として評価されます。

numeric
numeric
numeric
C#で文字列を数値チェック
char.IsNmberメソッドで文字列を数値チェックすることができます。
第二引数に検査する文字の位置を指定することができます。
以下、サンプルです。

using System;

class a{
    static void Main(){
        if(char.IsNumber("AAA3AAA",3))
        {
            Console.WriteLine("numeric");
        }
    }
}

第二引数の基底値は0なので、4桁目は数値として評価されます。

numeric