Char.IsDigit()和Char.IsNumber()C#和有什么不一样?
Char.IsDigit()
Char.IsNumber()
Char.IsDigit()是的子集Char.IsNumber()。
一些“数字”字符而不是数字,包括0x00b2和0x00b3,它们带有2和3的上标(“²”和“³”)以及作为分数的字形,例如“¼”,“½”和“¾” ‘。
请注意,有很多IsDigit()返回的字符true不在0x30到0x39的ASCII范围内,例如这些泰文数字字符:‘๐’‘๑’‘๒’‘๓’‘๔’‘๕’‘๖ ‘‘๗’‘๘’‘๙’。
IsDigit()
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)); } } }