小编典典

C#中 Char.IsDigit() 和 Char.IsNumber() 的区别

all

Char.IsDigit()C#和C#有什么区别Char.IsNumber()


阅读 95

收藏
2022-08-21

共1个答案

小编典典

Char.IsDigit()是 的子集Char.IsNumber()

一些“数字”而不是数字的字符包括上标为 2 和 3 的 0x00b2 和 0x00b3(“俘”和“鲁”)以及作为分数的字形,例如“陆录”、“俘”和“杀”
‘。

请注意,有不少字符IsDigit()返回true的不是 0x30 到 0x39 的 ASCII
范围,例如这些泰语数字字符:’喙’‘’喙’‘’喙’‘’喙’‘’喙’‘ ‘喙’‘’喙’‘’喙’‘’喙’‘’喙’‘。

这段代码告诉您哪些代码点不同:

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));
        }
    }
}
2022-08-21