1

文字列の最初の要素がC#の正の整数であるかどうかを確認する必要があります。これを行うための賢い方法はありますか?Fx

string str = "2001";
if (str.First() == isANumber) {
...                                
}
4

8 に答える 8

11

これで試すことができます:

string s = "1sdfa";
bool isDigit = char.IsDigit(s[0]);

また、文字列に追加のチェックが必要な場合は、次のように実行できます。

bool isDigit = !string.IsNullOrEmpty(s) && char.IsDigit(s[0]);
于 2013-02-08T10:01:23.870 に答える
3

兆候がなければ陽性だと思いますか?したがって、最初の sybmol が ではないかどうかを確認してください"-"

編集: 以下のコメントでマークが指摘したように、使用される文化に依存する場合があります。

于 2013-02-08T10:01:55.977 に答える
2

Char.IsDigitを使用できます

Char.IsDigit(str[0])
于 2013-02-08T10:01:21.867 に答える
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

于 2013-02-08T10:01:48.377 に答える
2

メソッドを使用する必要がありますChar.IsDigit()

指定された Unicode 文字が 10 進数として分類されているかどうかを示します。

お気に入り;

string str = "2001";
if (Char.IsDigit(str[0]))
{
    Console.WriteLine ("Positive digit");
}
else
{
    Console.WriteLine ("Not digit");
}

ここに がありDEMOます。

于 2013-02-08T10:02:13.353 に答える
0
if(Char.IsDigit(str.First()))
{
}
于 2013-02-08T10:03:17.250 に答える
0
string str = "2001";

if (char.IsDigit(str.First())
{
   if(Convert.toInt32(str.First().ToString()) >= 0)
   {
     // positive integer
   }
}
于 2013-02-08T10:04:57.067 に答える
0

こんにちは、これを使用できます...

string something = "some string";
bool isDigit = char.IsDigit(something[0]);
于 2013-02-08T10:05:59.240 に答える