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

标签 c# .net unicode

C# 中的 Char.IsDigit()Char.IsNumber() 有什么区别?

最佳答案

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));
        }
    }
}

关于c# - C# 中 Char.IsDigit() 和 Char.IsNumber() 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/228532/

相关文章:

c++ - 使用 icu 库将 UTF-8 转换为 UCS-2

c# - 这是对泛型的滥用吗?

c#代码转成QT C++

c# - 在 .NET (C#) 中测试文件复制速度时防止缓存

.net - C# 中使用 Task 和 Task<TResult> 有什么区别

python - 如果出现,则在分隔符上拆分列表的字符串

C# Datetime 短年份与国家公约

c# - 如何区分 Action 结果

c# - 是否有针对具有外部 set/get 方法的强类型类成员的 C# 模式?

java - UTF8 Bomless 与 Cp1252