Используйте регулярное выражение. Здесь как.
пример:
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string s = "123";
if (Regex.IsMatch(s, @"^\d+$"))
{
Console.WriteLine("Given string is numeric");
}
else
{
Console.WriteLine("Given string is non-numeric");
}
}
}
Вы можете изменить выражение, чтобы принимать любые типы чисел.
Обновить :
Полное решение:
static bool isNumeric(string s)
{
if (Regex.IsMatch(s, @"^-?[1-9][0-9,\.]+$"))
{
return true;
}
else
{
return false;
}
}
Следующий код является тестом:
Console.WriteLine(isNumeric("0123"));//returns false
Console.WriteLine(isNumeric("2.2"));//returns true
Console.WriteLine(isNumeric("-2.0"));//returns true
Console.WriteLine(isNumeric("123123.2"));//returns true
Console.WriteLine(isNumeric("123sad"));//returns false