C#のChar.IsNumber()メソッドとは?文字が数値かどうかを判定する方法
C#のChar.IsNumber()メソッドは、指定されたUnicode文字が「数値(Number)」カテゴリに分類されるかどうかを判定するためのメソッドです。戻り値はbool型で、文字が数値であればtrue、そうでなければfalseを返します。
なお、Char.IsNumber()は半角数字だけでなく、漢数字やローマ数字など、Unicode上で数値として定義されている幅広い文字を判定できる点が特徴です。
構文
Char.IsNumber()メソッドの構文は以下の通りです。
public static bool IsNumber (char ch);
パラメータchには、判定対象となるUnicode文字を指定します。
使用例1:数字を判定する場合
まずは、文字'2'が数値かどうかを判定する基本的な例を見てみましょう。
using System;
public class Demo {
public static void Main(){
bool res;
char val = '2';
Console.WriteLine("Value = "+val);
res = Char.IsNumber(val);
Console.WriteLine("Is the value a number? = "+res);
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
Value = 2 Is the value a number? = True
文字'2'は数値として分類されるため、結果はTrueとなっています。
使用例2:英字を判定する場合
次に、数値以外の文字'P'を判定した場合の例です。
using System;
public class Demo {
public static void Main(){
bool res;
char val = 'P';
Console.WriteLine("Value = "+val);
res = Char.IsNumber(val);
Console.WriteLine("Is the value a number? = "+res);
}
}出力結果
Value = P Is the value a number? = False
文字'P'はアルファベットであり数値ではないため、結果はFalseとなります。
Char.IsDigit()との違い
似たメソッドにChar.IsDigit()がありますが、両者には違いがあります。Char.IsDigit()は10進数の数字(0〜9など)のみを判定するのに対し、Char.IsNumber()は分数やローマ数字なども含む、より広範なUnicodeの数値カテゴリを判定します。用途に応じて使い分けることが重要です。
-
C#のChar.IsUpper()メソッドとは?大文字判定の使い方を解説
概要C#のChar.IsUpper()メソッドは、指定されたUnicode文字が「大文字」に分類されるかどうかを判定するメソッドです。判定結果はbool型で返され、文字が大文字であればtrue、それ以外であればfalseを返します。構文public static bool IsUpper(char ch);パラメータchには、判定対象となるUnicode文字を指定します。戻り値文字が大文字の場合:trueそれ以外の場合:false使用例1:大文字を判定する場合まずは、大文字「H」を判定するサンプルコードを見てみましょう。using System; public class Demo {
-
C#のChar.IsSymbol()メソッドとは?文字が記号かどうかを判定する方法を解説
Char.IsSymbol()メソッドとはC#のChar.IsSymbol()メソッドは、指定された文字列内の指定位置にある文字が、Unicodeの「記号(Symbol)」カテゴリに分類されているかどうかを判定するメソッドです。戻り値はbool型で、記号であればtrue、そうでなければfalseを返します。判定対象となるのは、数学記号(+、=など)、通貨記号($、¥など)、修飾記号、その他の記号といったUnicode記号カテゴリに属する文字です。構文public static bool IsSymbol (string str, int index);パラメータstr:評価対象の文字列inde