C# における Char.IsDigit() と Char.IsNumber() の違い 質問する

C# における Char.IsDigit() と Char.IsNumber() の違い 質問する

C# のChar.IsDigit()との違いは何ですか?Char.IsNumber()

ベストアンサー1

Char.IsDigit()は のサブセットですChar.IsNumber()

数字ではないが「数値」である文字には、上付き文字の 2 と 3 (「²」と「³」) である 0x00b2 と 0x00b3 や、「¼」、「½」、「¾」などの分数を表すグリフなどがあります。

IsDigit()返される文字の中には、ASCII 範囲 0x30 から 0x39 に含まれない文字がかなりあることに注意してくださいtrue。たとえば、タイ語の数字文字 '๐' '๑' '๒' '๓' '๔' '๕' '๖' '๗' '๘' '๙' などです。

このコード スニペットは、どのコード ポイントが異なるかを示します。

static private void test()
{
    for (int i = 0; i <= 0xffff; ++i)
    {
        char c = (char) i;

        if (Char.IsDigit( c) != Char.IsNumber( c)) {
            Console.WriteLine( "Char value {0:x} IsDigit() = {1}, IsNumber() = {2}", i, Char.IsDigit( c), Char.IsNumber( c));
        }
    }
}

おすすめ記事