我需要检查字符串的第一个元素是否是C#中的正整数。 有一个聪明的方法来做到这一点? Fx的
string str = "2001";
if (str.First() == isANumber) {
...
}
答案 0 :(得分:9)
你可以试试这个:
string s = "1sdfa";
bool isDigit = char.IsDigit(s[0]);
另外,如果你想对字符串进行额外的检查,你可以这样做:
bool isDigit = !string.IsNullOrEmpty(s) && char.IsDigit(s[0]);
答案 1 :(得分:3)
我相信如果没有迹象那么它是积极的吗?因此,只需检查第一个sybmol是否不是"-"
。
答案 2 :(得分:2)
可以使用Char.IsDigit
Char.IsDigit(str[0])
答案 3 :(得分:2)
您可以使用char.IsDigit方法检查第一个字符是否为数字。
if(char.IsDigit(str[0]))
Console.WriteLine("Starting character is positive digit");
else
Console.WriteLine("Starting character is not a digit");
如果您可以在访问其索引0
答案 4 :(得分:2)
您应该使用Char.IsDigit()
方法。
指示指定的Unicode字符是否归类为a 十进制数字。
像;
string str = "2001";
if (Char.IsDigit(str[0]))
{
Console.WriteLine ("Positive digit");
}
else
{
Console.WriteLine ("Not digit");
}
这是DEMO
。
答案 5 :(得分:0)
if(Char.IsDigit(str.First()))
{
}
答案 6 :(得分:0)
string str = "2001";
if (char.IsDigit(str.First())
{
if(Convert.toInt32(str.First().ToString()) >= 0)
{
// positive integer
}
}
答案 7 :(得分:0)
你好,你可以使用这个...
string something = "some string";
bool isDigit = char.IsDigit(something[0]);