Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 391 Vote(s) - 3.55 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Difference between Char.IsDigit() and Char.IsNumber() in C#

#1
What's the difference between `Char.IsDigit()` and `Char.IsNumber()` in C#?
Reply

#2
`Char.IsDigit()` is a subset of `Char.IsNumber()`.

Some of the characters that are 'numeric' but not digits include 0x00b2 and 0x00b3 which are superscripted 2 and 3 ('²' and '³') and the glyphs that are fractions such as '¼', '½', and '¾'.

Note that there are quite a few characters that `IsDigit()` returns `true` for that are not in the ASCII range of 0x30 to 0x39, such as these Thai digit characters: '๐' '๑' '๒' '๓' '๔' '๕' '๖' '๗' '๘' '๙'.

This snippet of code tells you which code points differ:

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

Reply

#3
`IsNumber(x)` will sometimes return `true` for results average person would not consider to be a number and here is why.

C# groups characters into `UnicodeCategory` where numbers fall not into a single but 3 different categories:

1. UnicodeCategory.DecimalDigitNumber

> Decimal digit character, that is, a character in the range 0 through
> 9. Signified by the Unicode designation "Nd" (number, decimal digit). The value is 8.

2. UnicodeCategory.OtherNumber

> Number that is neither a decimal digit nor a letter number, for
> example, the fraction 1/2. The indicator is signified by the Unicode
> designation "No" (number, other). The value is 10.

3. UnicodeCategory.LetterNumber

> Number represented by a letter, instead of a decimal digit, for
> example, the Roman numeral for five, which is "V". The indicator is
> signified by the Unicode designation "Nl" (number, letter). The value
> is 9.

Anything that falls in to one above will return `true` for `IsNumber()`. For is `IsDigit()` it will only be `UnicodeCategory.DecimalDigitNumber`.

**I wrote this bit of code to indicate which is which:** (Table isn't full due to allowed post size, but you should be able to generate it and it's only for example purposes anyway)

[Test]
public void IsNumberTest()
{
var numberLikes = new[] { UnicodeCategory.DecimalDigitNumber, UnicodeCategory.OtherNumber, UnicodeCategory.LetterNumber };
for (var i = 0; i < 0xffff; i++)
{
var c = Char.ConvertFromUtf32(i).ToCharArray()[0];
if (numberLikes.Contains(Char.GetUnicodeCategory©))
{
File.AppendAllText("IsNumberLike.txt", string.Format("{0},{1},{2},&#{3};,{4},{5}\n", i, c, Char.GetUnicodeCategory©, i, Char.IsNumber©, Char.IsDigit©));
}
}
}


Result looks following: As you can see there is stuff that one would not expect to be 'number'.


+------+----+--------------------+----------+------+-------+
| int |symbol| UnicodeCategory | Html |IsNumber|IsDigit|
+-------+---+--------------------+----------+------+-------+
| 48 | 0 | DecimalDigitNumber | 0 | True | True |
| 49 | 1 | DecimalDigitNumber | 1 | True | True |
| 50 | 2 | DecimalDigitNumber | 2 | True | True |
| 51 | 3 | DecimalDigitNumber | 3 | True | True |
| 52 | 4 | DecimalDigitNumber | 4 | True | True |
| 53 | 5 | DecimalDigitNumber | 5 | True | True |
| 54 | 6 | DecimalDigitNumber | 6 | True | True |
| 55 | 7 | DecimalDigitNumber | 7 | True | True |
| 56 | 8 | DecimalDigitNumber | 8 | True | True |
| 57 | 9 | DecimalDigitNumber | 9 | True | True |
| 178 | ² | OtherNumber | ² | True | False |
| 179 | ³ | OtherNumber | ³ | True | False |
| 185 | ¹ | OtherNumber | ¹ | True | False |
| 188 | ¼ | OtherNumber | ¼ | True | False |
| 189 | ½ | OtherNumber | ½ | True | False |
| 190 | ¾ | OtherNumber | ¾ | True | False |
| 1632 | ٠ | DecimalDigitNumber | ٠ | True | True |
| 1633 | ١ | DecimalDigitNumber | ١ | True | True |
| 1634 | ٢ | DecimalDigitNumber | ٢ | True | True |
| 1635 | ٣ | DecimalDigitNumber | ٣ | True | True |
| 1636 | ٤ | DecimalDigitNumber | ٤ | True | True |
| 1637 | ٥ | DecimalDigitNumber | ٥ | True | True |
| 1638 | ٦ | DecimalDigitNumber | ٦ | True | True |
| 1639 | ٧ | DecimalDigitNumber | ٧ | True | True |
| 1640 | ٨ | DecimalDigitNumber | ٨ | True | True |
| 1641 | ٩ | DecimalDigitNumber | ٩ | True | True |
| 1776 | ۰ | DecimalDigitNumber | ۰ | True | True |
| 1777 | ۱ | DecimalDigitNumber | ۱ | True | True |
| 1778 | ۲ | DecimalDigitNumber | ۲ | True | True |
| 1779 | ۳ | DecimalDigitNumber | ۳ | True | True |
| 1780 | ۴ | DecimalDigitNumber | ۴ | True | True |
| 1781 | ۵ | DecimalDigitNumber | ۵ | True | True |
| 1782 | ۶ | DecimalDigitNumber | ۶ | True | True |
| 1783 | ۷ | DecimalDigitNumber | ۷ | True | True |
| 1784 | ۸ | DecimalDigitNumber | ۸ | True | True |
| 1785 | ۹ | DecimalDigitNumber | ۹ | True | True |
| 1984 | ߀ | DecimalDigitNumber | ߀ | True | True |
| 1985 | ߁ | DecimalDigitNumber | ߁ | True | True |
| 1986 | ߂ | DecimalDigitNumber | ߂ | True | True |
| 1987 | ߃ | DecimalDigitNumber | ߃ | True | True |
| 1988 | ߄ | DecimalDigitNumber | ߄ | True | True |
| 1989 | ߅ | DecimalDigitNumber | ߅ | True | True |
| 1990 | ߆ | DecimalDigitNumber | ߆ | True | True |
| 1991 | ߇ | DecimalDigitNumber | ߇ | True | True |
| 1992 | ߈ | DecimalDigitNumber | ߈ | True | True |
| 1993 | ߉ | DecimalDigitNumber | ߉ | True | True |
| 2406 | ० | DecimalDigitNumber | ० | True | True |
| 2407 | १ | DecimalDigitNumber | १ | True | True |
| 2408 | २ | DecimalDigitNumber | २ | True | True |
| 2409 | ३ | DecimalDigitNumber | ३ | True | True |
| 2410 | ४ | DecimalDigitNumber | ४ | True | True |
| 2411 | ५ | DecimalDigitNumber | ५ | True | True |
| 2412 | ६ | DecimalDigitNumber | ६ | True | True |
| 2413 | ७ | DecimalDigitNumber | ७ | True | True |
| 2414 | ८ | DecimalDigitNumber | ८ | True | True |
| 2415 | ९ | DecimalDigitNumber | ९ | True | True |
| 2534 | ০ | DecimalDigitNumber | ০ | True | True |
| 2535 | ১ | DecimalDigitNumber | ১ | True | True |
| 2536 | ২ | DecimalDigitNumber | ২ | True | True |
| 2537 | ৩ | DecimalDigitNumber | ৩ | True | True |
| 2538 | ৪ | DecimalDigitNumber | ৪ | True | True |
| 2539 | ৫ | DecimalDigitNumber | ৫ | True | True |
| 2540 | ৬ | DecimalDigitNumber | ৬ | True | True |
| 2541 | ৭ | DecimalDigitNumber | ৭ | True | True |
| 2542 | ৮ | DecimalDigitNumber | ৮ | True | True |
| 2543 | ৯ | DecimalDigitNumber | ৯ | True | True |
| 2548 | ৴ | OtherNumber | ৴ | True | False |
| 2549 | ৵ | OtherNumber | ৵ | True | False |
| 2550 | ৶ | OtherNumber | ৶ | True | False |
| 2551 | ৷ | OtherNumber | ৷ | True | False |
| 2552 | ৸ | OtherNumber | ৸ | True | False |
| 2553 | ৹ | OtherNumber | ৹ | True | False |
| 2662 | ੦ | DecimalDigitNumber | ੦ | True | True |
| 2663 | ੧ | DecimalDigitNumber | ੧ | True | True |
| 2664 | ੨ | DecimalDigitNumber | ੨ | True | True |
| 2665 | ੩ | DecimalDigitNumber | ੩ | True | True |
| 2666 | ੪ | DecimalDigitNumber | ੪ | True | True |
| 2667 | ੫ | DecimalDigitNumber | ੫ | True | True |
| 2668 | ੬ | DecimalDigitNumber | ੬ | True | True |
| 2669 | ੭ | DecimalDigitNumber | ੭ | True | True |
| 2670 | ੮ | DecimalDigitNumber | ੮ | True | True |
| 2671 | ੯ | DecimalDigitNumber | ੯ | True | True |
| 2790 | ૦ | DecimalDigitNumber | ૦ | True | True |
| 2791 | ૧ | DecimalDigitNumber | ૧ | True | True |
| 2792 | ૨ | DecimalDigitNumber | ૨ | True | True |
| 2793 | ૩ | DecimalDigitNumber | ૩ | True | True |
| 2794 | ૪ | DecimalDigitNumber | ૪ | True | True |
| 2795 | ૫ | DecimalDigitNumber | ૫ | True | True |
| 2796 | ૬ | DecimalDigitNumber | ૬ | True | True |
| 2797 | ૭ | DecimalDigitNumber | ૭ | True | True |
| 2798 | ૮ | DecimalDigitNumber | ૮ | True | True |
| 2799 | ૯ | DecimalDigitNumber | ૯ | True | True |
| 2918 | ୦ | DecimalDigitNumber | ୦ | True | True |
| 2919 | ୧ | DecimalDigitNumber | ୧ | True | True |
| 2920 | ୨ | DecimalDigitNumber | ୨ | True | True |
| 2921 | ୩ | DecimalDigitNumber | ୩ | True | True |
| 2922 | ୪ | DecimalDigitNumber | ୪ | True | True |
| 2923 | ୫ | DecimalDigitNumber | ୫ | True | True |
| 2924 | ୬ | DecimalDigitNumber | ୬ | True | True |
| 2925 | ୭ | DecimalDigitNumber | ୭ | True | True |
| 2926 | ୮ | DecimalDigitNumber | ୮ | True | True |
| 2927 | ୯ | DecimalDigitNumber | ୯ | True | True |
| 2930 | ୲ | OtherNumber | ୲ | True | False |
| 2931 | ୳ | OtherNumber | ୳ | True | False |
| 2932 | ୴ | OtherNumber | ୴ | True | False |
| 2933 | ୵ | OtherNumber | ୵ | True | False |
| 2934 | ୶ | OtherNumber | ୶ | True | False |
| 2935 | ୷ | OtherNumber | ୷ | True | False |
| 3046 | ௦ | DecimalDigitNumber | ௦ | True | True |
| 3047 | ௧ | DecimalDigitNumber | ௧ | True | True |
| 3048 | ௨ | DecimalDigitNumber | ௨ | True | True |
| 3049 | ௩ | DecimalDigitNumber | ௩ | True | True |
| 3050 | ௪ | DecimalDigitNumber | ௪ | True | True |
| 3051 | ௫ | DecimalDigitNumber | ௫ | True | True |
| 3052 | ௬ | DecimalDigitNumber | ௬ | True | True |
| 3053 | ௭ | DecimalDigitNumber | ௭ | True | True |
| 3054 | ௮ | DecimalDigitNumber | ௮ | True | True |
| 3055 | ௯ | DecimalDigitNumber | ௯ | True | True |
| 3056 | ௰ | OtherNumber | ௰ | True | False |
| 3057 | ௱ | OtherNumber | ௱ | True | False |
| 3058 | ௲ | OtherNumber | ௲ | True | False |
| 3174 | ౦ | DecimalDigitNumber | ౦ | True | True |
| 3175 | ౧ | DecimalDigitNumber | ౧ | True | True |
| 3176 | ౨ | DecimalDigitNumber | ౨ | True | True |
| 3177 | ౩ | DecimalDigitNumber | ౩ | True | True |
| 3178 | ౪ | DecimalDigitNumber | ౪ | True | True |
| 3179 | ౫ | DecimalDigitNumber | ౫ | True | True |
| 3180 | ౬ | DecimalDigitNumber | ౬ | True | True |
| 3181 | ౭ | DecimalDigitNumber | ౭ | True | True |
| 3182 | ౮ | DecimalDigitNumber | ౮ | True | True |
| 3183 | ౯ | DecimalDigitNumber | ౯ | True | True |
| 3192 | ౸ | OtherNumber | ౸ | True | False |
| 3193 | ౹ | OtherNumber | ౹ | True | False |
| 3194 | ౺ | OtherNumber | ౺ | True | False |
| 3195 | ౻ | OtherNumber | ౻ | True | False |
| 3196 | ౼ | OtherNumber | ౼ | True | False |
| 3197 | ౽ | OtherNumber | ౽ | True | False |
| 3198 | ౾ | OtherNumber | ౾ | True | False |
| 3302 | ೦ | DecimalDigitNumber | ೦ | True | True |
| 3303 | ೧ | DecimalDigitNumber | ೧ | True | True |
| 3304 | ೨ | DecimalDigitNumber | ೨ | True | True |
| 3305 | ೩ | DecimalDigitNumber | ೩ | True | True |
| 3306 | ೪ | DecimalDigitNumber | ೪ | True | True |
| 3307 | ೫ | DecimalDigitNumber | ೫ | True | True |
| 3308 | ೬ | DecimalDigitNumber | ೬ | True | True |
| 3309 | ೭ | DecimalDigitNumber | ೭ | True | True |
| 3310 | ೮ | DecimalDigitNumber | ೮ | True | True |
| 3311 | ೯ | DecimalDigitNumber | ೯ | True | True |
| 3430 | ൦ | DecimalDigitNumber | ൦ | True | True |
| 3431 | ൧ | DecimalDigitNumber | ൧ | True | True |
| 3432 | ൨ | DecimalDigitNumber | ൨ | True | True |
| 3433 | ൩ | DecimalDigitNumber | ൩ | True | True |
| 3434 | ൪ | DecimalDigitNumber | ൪ | True | True |
| 3435 | ൫ | DecimalDigitNumber | ൫ | True | True |
| 3436 | ൬ | DecimalDigitNumber | ൬ | True | True |
| 3437 | ൭ | DecimalDigitNumber | ൭ | True | True |
| 3438 | ൮ | DecimalDigitNumber | ൮ | True | True |
| 3439 | ൯ | DecimalDigitNumber | ൯ | True | True |
| 3440 | ൰ | OtherNumber | ൰ | True | False |
| 3441 | ൱ | OtherNumber | ൱ | True | False |
| 3442 | ൲ | OtherNumber | ൲ | True | False |
| 3443 | ൳ | OtherNumber | ൳ | True | False |
| 3444 | ൴ | OtherNumber | ൴ | True | False |
| 3445 | ൵ | OtherNumber | ൵ | True | False |
| 3664 | ๐ | DecimalDigitNumber | ๐ | True | True |
| 3665 | ๑ | DecimalDigitNumber | ๑ | True | True |
| 3666 | ๒ | DecimalDigitNumber | ๒ | True | True |
| 3667 | ๓ | DecimalDigitNumber | ๓ | True | True |
| 3668 | ๔ | DecimalDigitNumber | ๔ | True | True |
| 3669 | ๕ | DecimalDigitNumber | ๕ | True | True |
| 3670 | ๖ | DecimalDigitNumber | ๖ | True | True |
| 3671 | ๗ | DecimalDigitNumber | ๗ | True | True |
| 3672 | ๘ | DecimalDigitNumber | ๘ | True | True |
| 3673 | ๙ | DecimalDigitNumber | ๙ | True | True |
| 3792 | ໐ | DecimalDigitNumber | ໐ | True | True |
| 3793 | ໑ | DecimalDigitNumber | ໑ | True | True |
| 3794 | ໒ | DecimalDigitNumber | ໒ | True | True |
| 3795 | ໓ | DecimalDigitNumber | ໓ | True | True |
| 3796 | ໔ | DecimalDigitNumber | ໔ | True | True |
| 3797 | ໕ | DecimalDigitNumber | ໕ | True | True |
| 3798 | ໖ | DecimalDigitNumber | ໖ | True | True |
| 3799 | ໗ | DecimalDigitNumber | ໗ | True | True |
| 3800 | ໘ | DecimalDigitNumber | ໘ | True | True |
| 3801 | ໙ | DecimalDigitNumber | ໙ | True | True |
| 3872 | ༠ | DecimalDigitNumber | ༠ | True | True |
| 3873 | ༡ | DecimalDigitNumber | ༡ | True | True |
| 3874 | ༢ | DecimalDigitNumber | ༢ | True | True |
| 3875 | ༣ | DecimalDigitNumber | ༣ | True | True |
| 3876 | ༤ | DecimalDigitNumber | ༤ | True | True |
| 3877 | ༥ | DecimalDigitNumber | ༥ | True | True |
| 3878 | ༦ | DecimalDigitNumber | ༦ | True | True |
| 3879 | ༧ | DecimalDigitNumber | ༧ | True | True |
| 3880 | ༨ | DecimalDigitNumber | ༨ | True | True |
| 3881 | ༩ | DecimalDigitNumber | ༩ | True | True |
| 3882 | ༪ | OtherNumber | ༪ | True | False |
| 3883 | ༫ | OtherNumber | ༫ | True | False |
| 3884 | ༬ | OtherNumber | ༬ | True | False |
| 3885 | ༭ | OtherNumber | ༭ | True | False |
| 3886 | ༮ | OtherNumber | ༮ | True | False |
| 3887 | ༯ | OtherNumber | ༯ | True | False |
| 3888 | ༰ | OtherNumber | ༰ | True | False |
| 3889 | ༱ | OtherNumber | ༱ | True | False |
| 3890 | ༲ | OtherNumber | ༲ | True | False |
| 3891 | ༳ | OtherNumber | ༳ | True | False |
| 4160 | ၀ | DecimalDigitNumber | ၀ | True | True |
| 4161 | ၁ | DecimalDigitNumber | ၁ | True | True |
| 4162 | ၂ | DecimalDigitNumber | ၂ | True | True |
| 4163 | ၃ | DecimalDigitNumber | ၃ | True | True |
| 4164 | ၄ | DecimalDigitNumber | ၄ | True | True |
| 4165 | ၅ | DecimalDigitNumber | ၅ | True | True |
| 4166 | ၆ | DecimalDigitNumber | ၆ | True | True |
| 4167 | ၇ | DecimalDigitNumber | ၇ | True | True |
| 4168 | ၈ | DecimalDigitNumber | ၈ | True | True |
| 4169 | ၉ | DecimalDigitNumber | ၉ | True | True |
| 4240 | ႐ | DecimalDigitNumber | ႐ | True | True |
| 4241 | ႑ | DecimalDigitNumber | ႑ | True | True |
| 4242 | ႒ | DecimalDigitNumber | ႒ | True | True |
| 4243 | ႓ | DecimalDigitNumber | ႓ | True | True |
| 4244 | ႔ | DecimalDigitNumber | ႔ | True | True |
| 4245 | ႕ | DecimalDigitNumber | ႕ | True | True |
| 4246 | ႖ | DecimalDigitNumber | ႖ | True | True |
| 4247 | ႗ | DecimalDigitNumber | ႗ | True | True |
| 4248 | ႘ | DecimalDigitNumber | ႘ | True | True |
| 4249 | ႙ | DecimalDigitNumber | ႙ | True | True |
| 4969 | ፩ | OtherNumber | ፩ | True | False |
| 4970 | ፪ | OtherNumber | ፪ | True | False |
| 4971 | ፫ | OtherNumber | ፫ | True | False |
| 4972 | ፬ | OtherNumber | ፬ | True | False |
| 4973 | ፭ | OtherNumber | ፭ | True | False |
| 4974 | ፮ | OtherNumber | ፮ | True | False |
| 4975 | ፯ | OtherNumber | ፯ | True | False |
| 4976 | ፰ | OtherNumber | ፰ | True | False |
| 4977 | ፱ | OtherNumber | ፱ | True | False |
| 4978 | ፲ | OtherNumber | ፲ | True | False |
| 4979 | ፳ | OtherNumber | ፳ | True | False |
| 4980 | ፴ | OtherNumber | ፴ | True | False |
| 4981 | ፵ | OtherNumber | ፵ | True | False |
| 4982 | ፶ | OtherNumber | ፶ | True | False |
| 4983 | ፷ | OtherNumber | ፷ | True | False |
| 4984 | ፸ | OtherNumber | ፸ | True | False |
| 4985 | ፹ | OtherNumber | ፹ | True | False |
| 4986 | ፺ | OtherNumber | ፺ | True | False |
| 4987 | ፻ | OtherNumber | ፻ | True | False |
| 4988 | ፼ | OtherNumber | ፼ | True | False |
| 5870 | ᛮ | LetterNumber | ᛮ | True | False |
| 5871 | ᛯ | LetterNumber | ᛯ | True | False |
| 5872 | ᛰ | LetterNumber | ᛰ | True | False |
| 6112 | ០ | DecimalDigitNumber | ០ | True | True |
| 6113 | ១ | DecimalDigitNumber | ១ | True | True |
| 6114 | ២ | DecimalDigitNumber | ២ | True | True |
| 6115 | ៣ | DecimalDigitNumber | ៣ | True | True |
| 6116 | ៤ | DecimalDigitNumber | ៤ | True | True |
| 6117 | ៥ | DecimalDigitNumber | ៥ | True | True |
| 6118 | ៦ | DecimalDigitNumber | ៦ | True | True |
| 6119 | ៧ | DecimalDigitNumber | ៧ | True | True |
| 6120 | ៨ | DecimalDigitNumber | ៨ | True | True |
| 6121 | ៩ | DecimalDigitNumber | ៩ | True | True |
| 6128 | ៰ | OtherNumber | ៰ | True | False |
| 6129 | ៱ | OtherNumber | ៱ | True | False |
| 6130 | ៲ | OtherNumber | ៲ | True | False |
| 6131 | ៳ | OtherNumber | ៳ | True | False |
| 6132 | ៴ | OtherNumber | ៴ | True | False |
| 6133 | ៵ | OtherNumber | ៵ | True | False |
| 6134 | ៶ | OtherNumber | ៶ | True | False |
| 6135 | ៷ | OtherNumber | ៷ | True | False |
| 6136 | ៸ | OtherNumber | ៸ | True | False |
| 6137 | ៹ | OtherNumber | ៹ | True | False |
| 6160 | ᠐ | DecimalDigitNumber | ᠐ | True | True |
| 6161 | ᠑ | DecimalDigitNumber | ᠑ | True | True |
| 6162 | ᠒ | DecimalDigitNumber | ᠒ | True | True |
| 6163 | ᠓ | DecimalDigitNumber | ᠓ | True | True |
| 6164 | ᠔ | DecimalDigitNumber | ᠔ | True | True |
| 6165 | ᠕ | DecimalDigitNumber | ᠕ | True | True |
| 6166 | ᠖ | DecimalDigitNumber | ᠖ | True | True |
| 6167 | ᠗ | DecimalDigitNumber | ᠗ | True | True |
| 6168 | ᠘ | DecimalDigitNumber | ᠘ | True | True |
| 6169 | ᠙ | DecimalDigitNumber | ᠙ | True | True |
| 6470 | ᥆ | DecimalDigitNumber | ᥆ | True | True |
| 6471 | ᥇ | DecimalDigitNumber | ᥇ | True | True |
| 6472 | ᥈ | DecimalDigitNumber | ᥈ | True | True |
| 6473 | ᥉ | DecimalDigitNumber | ᥉ | True | True |
| 6474 | ᥊ | DecimalDigitNumber | ᥊ | True | True |
| 6475 | ᥋ | DecimalDigitNumber | ᥋ | True | True |
| 6476 | ᥌ | DecimalDigitNumber | ᥌ | True | True |
| 6477 | ᥍ | DecimalDigitNumber | ᥍ | True | True |
| 6478 | ᥎ | DecimalDigitNumber | ᥎ | True | True |
| 6479 | ᥏ | DecimalDigitNumber | ᥏ | True | True |
| 6608 | ᧐ | DecimalDigitNumber | ᧐ | True | True |
| 6609 | ᧑ | DecimalDigitNumber | ᧑ | True | True |
| 6610 | ᧒ | DecimalDigitNumber | ᧒ | True | True |
| 6611 | ᧓ | DecimalDigitNumber | ᧓ | True | True |
| 6612 | ᧔ | DecimalDigitNumber | ᧔ | True | True |
| 6613 | ᧕ | DecimalDigitNumber | ᧕ | True | True |
| 6614 | ᧖ | DecimalDigitNumber | ᧖ | True | True |
| 6615 | ᧗ | DecimalDigitNumber | ᧗ | True | True |
| 6616 | ᧘ | DecimalDigitNumber | ᧘ | True | True |
| 6617 | ᧙ | DecimalDigitNumber | ᧙ | True | True |
| 6618 | ᧚ | OtherNumber | ᧚ | True | False |
| 6784 | ᪀ | DecimalDigitNumber | ᪀ | True | True |
| 6785 | ᪁ | DecimalDigitNumber | ᪁ | True | True |
| 6786 | ᪂ | DecimalDigitNumber | ᪂ | True | True |
| 6787 | ᪃ | DecimalDigitNumber | ᪃ | True | True |
| 6788 | ᪄ | DecimalDigitNumber | ᪄ | True | True |
| 6789 | ᪅ | DecimalDigitNumber | ᪅ | True | True |
| 6790 | ᪆ | DecimalDigitNumber | ᪆ | True | True |
| 6791 | ᪇ | DecimalDigitNumber | ᪇ | True | True |
| 6792 | ᪈ | DecimalDigitNumber | ᪈ | True | True |
| 6793 | ᪉ | DecimalDigitNumber | ᪉ | True | True |
| 6800 | ᪐ | DecimalDigitNumber | ᪐ | True | True |
| 6801 | ᪑ | DecimalDigitNumber | ᪑ | True | True |
| 6802 | ᪒ | DecimalDigitNumber | ᪒ | True | True |
| 6803 | ᪓ | DecimalDigitNumber | ᪓ | True | True |
| 6804 | ᪔ | DecimalDigitNumber | ᪔ | True | True |
| 6805 | ᪕ | DecimalDigitNumber | ᪕ | True | True |
| 6806 | ᪖ | DecimalDigitNumber | ᪖ | True | True |
| 6807 | ᪗ | DecimalDigitNumber | ᪗ | True | True |
| 6808 | ᪘ | DecimalDigitNumber | ᪘ | True | True |
| 6809 | ᪙ | DecimalDigitNumber | ᪙ | True | True |
| 6992 | ᭐ | DecimalDigitNumber | ᭐ | True | True |
| 6993 | ᭑ | DecimalDigitNumber | ᭑ | True | True |
| 6994 | ᭒ | DecimalDigitNumber | ᭒ | True | True |
| 6995 | ᭓ | DecimalDigitNumber | ᭓ | True | True |
| 6996 | ᭔ | DecimalDigitNumber | ᭔ | True | True |
| 6997 | ᭕ | DecimalDigitNumber | ᭕ | True | True |
| 6998 | ᭖ | DecimalDigitNumber | ᭖ | True | True |
| 6999 | ᭗ | DecimalDigitNumber | ᭗ | True | True |
| 7000 | ᭘ | DecimalDigitNumber | ᭘ | True | True |
| 7001 | ᭙ | DecimalDigitNumber | ᭙ | True | True |
| 7088 | ᮰ | DecimalDigitNumber | ᮰ | True | True |
| 7089 | ᮱ | DecimalDigitNumber | ᮱ | True | True |
| 7090 | ᮲ | DecimalDigitNumber | ᮲ | True | True |
| 7091 | ᮳ | DecimalDigitNumber | ᮳ | True | True |
| 7092 | ᮴ | DecimalDigitNumber | ᮴ | True | True |
| 7093 | ᮵ | DecimalDigitNumber | ᮵ | True | True |
| 7094 | ᮶ | DecimalDigitNumber | ᮶ | True | True |
| 7095 | ᮷ | DecimalDigitNumber | ᮷ | True | True |
| 7096 | ᮸ | DecimalDigitNumber | ᮸ | True | True |
| 7097 | ᮹ | DecimalDigitNumber | ᮹ | True | True |
| 7232 | ᱀ | DecimalDigitNumber | ᱀ | True | True |
| 7233 | ᱁ | DecimalDigitNumber | ᱁ | True | True |
| 7234 | ᱂ | DecimalDigitNumber | ᱂ | True | True |
| 7235 | ᱃ | DecimalDigitNumber | ᱃ | True | True |
| 7236 | ᱄ | DecimalDigitNumber | ᱄ | True | True |
| 7237 | ᱅ | DecimalDigitNumber | ᱅ | True | True |
| 7238 | ᱆ | DecimalDigitNumber | ᱆ | True | True |
| 7239 | ᱇ | DecimalDigitNumber | ᱇ | True | True |
| 8304 | ⁰ | OtherNumber | ⁰ | True | False |
| 8308 | ⁴ | OtherNumber | ⁴ | True | False |
| 8309 | ⁵ | OtherNumber | ⁵ | True | False |
| 8310 | ⁶ | OtherNumber | ⁶ | True | False |
| 8311 | ⁷ | OtherNumber | ⁷ | True | False |
| 8312 | ⁸ | OtherNumber | ⁸ | True | False |
| 8313 | ⁹ | OtherNumber | ⁹ | True | False |
| 8320 | ₀ | OtherNumber | ₀ | True | False |
| 8321 | ₁ | OtherNumber | ₁ | True | False |
| 8322 | ₂ | OtherNumber | ₂ | True | False |
| 8323 | ₃ | OtherNumber | ₃ | True | False |
| 8324 | ₄ | OtherNumber | ₄ | True | False |
| 8325 | ₅ | OtherNumber | ₅ | True | False |
| 8326 | ₆ | OtherNumber | ₆ | True | False |
| 8327 | ₇ | OtherNumber | ₇ | True | False |
| 8328 | ₈ | OtherNumber | ₈ | True | False |
| 8329 | ₉ | OtherNumber | ₉ | True | False |
| 8528 | ⅐ | OtherNumber | ⅐ | True | False |
| 8529 | ⅑ | OtherNumber | ⅑ | True | False |
| 8530 | ⅒ | OtherNumber | ⅒ | True | False |
| 8531 | ⅓ | OtherNumber | ⅓ | True | False |
| 8532 | ⅔ | OtherNumber | ⅔ | True | False |
| 8533 | ⅕ | OtherNumber | ⅕ | True | False |
| 8534 | ⅖ | OtherNumber | ⅖ | True | False |
| 8535 | ⅗ | OtherNumber | ⅗ | True | False |
| 8536 | ⅘ | OtherNumber | ⅘ | True | False |
| 8537 | ⅙ | OtherNumber | ⅙ | True | False |
| 8538 | ⅚ | OtherNumber | ⅚ | True | False |
| 8539 | ⅛ | OtherNumber | ⅛ | True | False |
| 8540 | ⅜ | OtherNumber | ⅜ | True | False |
| 8541 | ⅝ | OtherNumber | ⅝ | True | False |
| 8542 | ⅞ | OtherNumber | ⅞ | True | False |
| 8543 | ⅟ | OtherNumber | ⅟ | True | False |
| 8544 | Ⅰ | LetterNumber | Ⅰ | True | False |
| 8545 | Ⅱ | LetterNumber | Ⅱ | True | False |
| 8546 | Ⅲ | LetterNumber | Ⅲ | True | False |
| 8547 | Ⅳ | LetterNumber | Ⅳ | True | False |
| 8548 | Ⅴ | LetterNumber | Ⅴ | True | False |
| 8549 | Ⅵ | LetterNumber | Ⅵ | True | False |
| 8550 | Ⅶ | LetterNumber | Ⅶ | True | False |
| 8551 | Ⅷ | LetterNumber | Ⅷ | True | False |
| 8552 | Ⅸ | LetterNumber | Ⅸ | True | False |
| 8553 | Ⅹ | LetterNumber | Ⅹ | True | False |
| 8554 | Ⅺ | LetterNumber | Ⅺ | True | False |
| 8555 | Ⅻ | LetterNumber | Ⅻ | True | False |
| 8556 | Ⅼ | LetterNumber | Ⅼ | True | False |
| 8557 | Ⅽ | LetterNumber | Ⅽ | True | False |
| 8558 | Ⅾ | LetterNumber | Ⅾ | True | False |
| 8559 | Ⅿ | LetterNumber | Ⅿ | True | False |
| 8560 | ⅰ | LetterNumber | ⅰ | True | False |
| 8561 | ⅱ | LetterNumber | ⅱ | True | False |
| 8562 | ⅲ | LetterNumber | ⅲ | True | False |
| 8563 | ⅳ | LetterNumber | ⅳ | True | False |
| 8564 | ⅴ | LetterNumber | ⅴ | True | False |
| 8565 | ⅵ | LetterNumber | ⅵ | True | False |
| 8566 | ⅶ | LetterNumber | ⅶ | True | False |
| 8567 | ⅷ | LetterNumber | ⅷ | True | False |
| 8568 | ⅸ | LetterNumber | ⅸ | True | False |
| 8569 | ⅹ | LetterNumber | ⅹ | True | False |
| 8570 | ⅺ | LetterNumber | ⅺ | True | False |
| 8571 | ⅻ | LetterNumber | ⅻ | True | False |
| 8572 | ⅼ | LetterNumber | ⅼ | True | False |
| 8573 | ⅽ | LetterNumber | ⅽ | True | False |
| 8574 | ⅾ | LetterNumber | ⅾ | True | False |
| 8575 | ⅿ | LetterNumber | ⅿ | True | False |
| 8576 | ↀ | LetterNumber | ↀ | True | False |
| 8577 | ↁ | LetterNumber | ↁ | True | False |
| 8578 | ↂ | LetterNumber | ↂ | True | False |
| 8581 | ↅ | LetterNumber | ↅ | True | False |
+-------+---+--------------------+----------+------+-------+
Reply

#4
I found the answer:

> Char.IsNumber() determines if a Char
> is of any numeric Unicode category.
> This contrasts with IsDigit, which
> determines if a Char is a radix-10
> digit.
>
> Valid numbers are members of the
> following categories in
> [UnicodeCategory](

[To see links please register here]

"Decimal digit character, that is, a character in the range 0 through 9. Signified by the Unicode designation "Nd" (number, decimal digit). The value is 8."):
>


> 1. **`DecimalDigitNumber`**
> Decimal digit character, that is, a character in the range 0 through 9. Signified by the Unicode designation "Nd" (number, decimal digit). The value is 8.
> 2. **`LetterNumber`**
Number represented by a letter, instead of a decimal digit, for example, the Roman numeral for five, which is "V". The indicator is signified by the Unicode designation "Nl" (number, letter). The value is 9.
> 3. **`OtherNumber`**
Number that is neither a decimal digit nor a letter number, for example, the fraction ½. The indicator is signified by the Unicode designation "No" (number, other). The value is 10.

## Conclusion ##


- **`Char.IsDigit`**:
Valid digits are members of the `DecimalDigitNumber` category only.
- **`Char.IsNumber`**:
Valid numbers are members of the `DecimalDigitNumber`, `LetterNumber`, or `OtherNumber` category.
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through