检查字符串的第一个元素是否为正整数
本文关键字:整数 是否 元素 字符串 第一个 检查 | 更新日期: 2023-09-27 17:58:23
我需要检查字符串的第一个元素是否是C#中的正整数。有聪明的方法吗?Fx
string str = "2001";
if (str.First() == isANumber) {
...
}
您可以尝试以下操作:
string s = "1sdfa";
bool isDigit = char.IsDigit(s[0]);
此外,如果您想对字符串进行额外的检查,您可以这样做:
bool isDigit = !string.IsNullOrEmpty(s) && char.IsDigit(s[0]);
我相信如果没有符号,那么它是正的?因此,只需检查第一个sybmol是否不是"-"
。
编辑:正如马克在下面的评论中所指出的,这可能取决于所使用的文化。
可以使用Char。IsDigit
Char.IsDigit(str[0])
您应该使用Char.IsDigit()
方法。
指示指定的Unicode字符是否分类为十进制数字。
喜欢;
string str = "2001";
if (Char.IsDigit(str[0]))
{
Console.WriteLine ("Positive digit");
}
else
{
Console.WriteLine ("Not digit");
}
这是一个DEMO
。
您可以使用char。IsDigit方法检查第一个字符是否为数字。
if(char.IsDigit(str[0]))
Console.WriteLine("Starting character is positive digit");
else
Console.WriteLine("Starting character is not a digit");
如果您可以在访问其索引0
之前检查字符串的长度,效果会更好
if(Char.IsDigit(str.First()))
{
}
string str = "2001";
if (char.IsDigit(str.First())
{
if(Convert.toInt32(str.First().ToString()) >= 0)
{
// positive integer
}
}
你好,你可以使用这个。。。
string something = "some string";
bool isDigit = char.IsDigit(something[0]);