关于c#:如何检查字符是否为整数


how to check if the character is an integer

我正在寻找一个函数,它可以检查字符是否是整数,并做一些事情是这样的。

1
2
3
4
5
6
char a = '1';

if (Function(a))
{
  do something
}


使用System.Char.IsDigit方法


如果只需要纯的0-9数字,请使用

1
if(a>='0' && a<='9')

对于0-9范围之外的某些字符,IsNumericIsDigit都返回true:

C中char.isDigit()和char.isNumber()的区别#


Integer.TryParse工作得很好。

http://msdn.microsoft.com/en-us/library/f02979c7.aspx


在这种情况下,bool Char.IsDigit(char c);方法应该可以很好地工作。

1
2
3
4
5
6
char a = '1';

if (Char.IsDigit(a))
{
  //do something
}

尝试使用System.Char.IsDigit方法。


试试Char.IsNumber。文档和示例可在此处找到


我必须检查一个字符串的第一个到字符,如果第三个字符是数字,则使用mystring.all(char.isdigit):

1
if (cAdresse.Trim().ToUpper().Substring(0, 2) =="FZ" & cAdresse.Trim().ToUpper().Substring(2, 1).All(char.IsDigit))

最简单的答案:

1
2
char chr = '1';
char.isDigit(chr)

最好使用switch语句。类似:

1
2
3
4
5
6
7
8
9
10
11
12
switch(a)
{
  case '1':
    //do something.
    break;
  case '2':
    // do something else.
    break;
  default: // Not an integer
    throw new FormatException();
    break;
}

只要您只查找字符0-9,这将有效。除此之外的任何东西(说"10")都是字符串而不是字符。如果您试图查看某个输入是否为整数,而该输入是否为字符串,则可以执行以下操作:

1
2
3
4
5
6
7
8
try
{
  Convert.ToInt32("10")
}
catch (FormatException err)
{
  // Not an integer, display some error.
}