27

I am looking for a function that can check the character if it is a integer and do something is so.

char a = '1';

if (Function(a))
{
  do something
}
4

9 回答 9

36

使用System.Char.IsDigit方法

于 2012-10-12T19:59:57.797 回答
23

如果您只想要纯0-9数字,请使用

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

IsNumeric并且IsDigit对于 0-9 范围之外的某些字符都返回 true:

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

于 2012-10-12T20:04:18.410 回答
6

Integer.TryParse效果很好。

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

于 2012-10-12T19:59:52.447 回答
5

bool Char.IsDigit(char c);方法应该非常适合这种情况。

char a = '1';

if (Char.IsDigit(a))
{
  //do something
}
于 2015-12-10T20:13:17.217 回答
2

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

于 2012-10-12T20:02:24.363 回答
1

试试Char.IsNumber。文档和示例可以在这里找到

于 2012-10-12T20:00:56.783 回答
0

最好只使用 switch 语句。就像是:

switch(a)
{
  case '1':
    //do something.
    break;
  case '2':
    // do something else.
    break;
  default: // Not an integer
    throw new FormatException();
    break;
}

只要您只查找字符 0-9,这将起作用。除此之外的任何东西(比如“10”)都是字符串而不是字符。如果您只想查看某个输入是否为整数并且输入是否为字符串,则可以执行以下操作:

try
{
  Convert.ToInt32("10")
}
catch (FormatException err)
{
  // Not an integer, display some error.
}
于 2012-10-12T20:03:31.620 回答
0

最简单的答案:

char chr = '1';
char.isDigit(chr)
于 2017-06-23T10:40:59.640 回答
0

我必须检查字符串的第一个字符,如果第三个字符是数字,并使用MyString.All(char.IsDigit)进行检查:

if (cAdresse.Trim().ToUpper().Substring(0, 2) == "FZ" & cAdresse.Trim().ToUpper().Substring(2, 1).All(char.IsDigit))
于 2019-04-23T08:45:53.810 回答