String
aが数字のみで構成されているかどうかを確認する最も簡単な方法は何ですか?
質問する
80 次
4 に答える
2
if (Regex.IsMatch(input, "^[0-9]+$"))
....
于 2012-10-29T12:34:58.007 に答える
1
Char.IsDigit
またはを使用できますChar.IsNumber
:
var isNumber = str.Length > 0 && str.All(c => Char.IsNumber(c));
using System.Linq;
(for を追加するEnumerable.All
か、代わりにループを使用することを忘れないでください)
またはint.TryParse
代わりに使用します(またはdouble.TryParse
など):
bool isNumber = int.TryParse(str, out number);
于 2012-10-29T12:35:50.623 に答える
1
これをいくつかの場所で行う場合は、拡張メソッドを String クラスに追加します。
namespace System
{
using System.Text.RegularExpressions;
public static class StringExtensionMethods()
{
public static bool IsNumeric(this string input)
{
return Regex.IsMatch(input, "^[0-9]+$");
}
}
}
次に、次のように使用できます。
string myText = "123";
if (myText.IsNumeric())
{
// Do something.
}
于 2012-10-29T13:03:24.217 に答える
0
正規表現を使用できます:
[TestCase("1234567890", true)]
[TestCase("1234567890a", false)]
public void NumericTest(string s, bool isnumeric)
{
var regex = new Regex(@"^\d+$");
Assert.AreEqual(isnumeric, regex.IsMatch(s));
}
于 2012-10-29T12:36:58.937 に答える