C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
It determines if a character in the string is a digit character—meaning it is part of an Arabic number—in the range 0-9. It is useful in certain parsing, scanning or sorting algorithms.
Example. First, the char.IsDigit method is a static method on the System.Char struct, which is aliased to the char keyword in the C# programming language. It returns a Boolean value, which tells you whether the character is a digit character.
Also: It contains some logic for globalization, which checks for Latin characters.
C# program that tests for digits
using System;
class Program
{
static void Main()
{
string test = "R2D2/C3P0";
foreach (char value in test)
{
bool digit = char.IsDigit(value);
Console.Write(value);
Console.Write(' ');
Console.WriteLine(digit);
}
}
/// <summary>
/// Returns whether the char is a digit char.
/// Taken from inside the char.IsDigit method.
/// </summary>
public static bool IsCharDigit(char c)
{
return ((c >= '0') && (c <= '9'));
}
}
Output
R False
2 True
D False
2 True
/ False
C False
3 True
P False
0 True



The program defines the Main entry point and an input string containing the names of two characters from the Star Wars movies. The string contains four digits: 2, 2, 3, and 0. In the output, IsDigit returned True only for those values.
Unicode. As Raymond Chen at Microsoft notes, the IsDigit method has some interesting behavior on non-Latin numbers, meaning certain rare Unicode characters. This is mainly a security concern when using it in input validation.
Therefore: Using the custom IsCharDigit method in the above code is safer for simple tasks.
Also: The logic in IsCharDigit is actually taken directly from the main part of char.IsDigit.
Char.IsDigit matches: MSDN Blogs
Summary. The char.IsDigit method works in normal situations with the digits 0-9. We used it in a foreach-loop. And we noted that it has an unusual behavior that complicates its behavior. This could lead to unexpected behavior.
Tip: You can extract the character-testing logic for more predictable behavior and slightly better performance.