【发布时间】:2012-10-12 19:58:26
【问题描述】:
我正在寻找一个函数,它可以检查字符是否为整数并做某事。
char a = '1';
if (Function(a))
{
do something
}
【问题讨论】:
-
旁注:您应该考虑是否需要“整数”(作为数字序列 - 有这样的几个字符)、“数字”(多种语言中的 0-9)或“数字” (1/2,...)
标签: c#
我正在寻找一个函数,它可以检查字符是否为整数并做某事。
char a = '1';
if (Function(a))
{
do something
}
【问题讨论】:
标签: c#
【讨论】:
如果您只想要纯 0-9 数字,请使用
if(a>='0' && a<='9')
IsNumeric 和 IsDigit 对于 0-9 范围之外的某些字符都返回 true:
【讨论】:
Integer.TryParse 效果很好。
【讨论】:
true:stackoverflow.com/questions/228532/…
0-9。
bool Char.IsDigit(char c); 方法应该非常适合这个实例。
char a = '1';
if (Char.IsDigit(a))
{
//do something
}
【讨论】:
尝试使用System.Char.IsDigit 方法。
【讨论】:
试试Char.IsNumber。文档和示例可以在here找到。
【讨论】:
最好只使用 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.
}
【讨论】:
最简单的答案:
char chr = '1';
char.isDigit(chr)
【讨论】:
我必须检查字符串的第一个字符,第三个字符是否为数字,然后使用 MyString.All(char.IsDigit): p>
if (cAdresse.Trim().ToUpper().Substring(0, 2) == "FZ" & cAdresse.Trim().ToUpper().Substring(2, 1).All(char.IsDigit))
【讨论】: