Como se ha dicho anteriormente se puede utilizar Double.TryParse
Si no lo hace así (por alguna razón), se puede escribir su propio método de extensión:
public static class ExtensionMethods
{
public static bool isNumeric (this string str)
{
for (int i = 0; i < str.Length; i++)
{
if ((str[i] == '.') || (str[i] == ',')) continue; //Decide what is valid, decimal point or decimal coma
if ((str[i] < '0') || (str[i] > '9')) return false;
}
return true;
}
}
Uso:
string mystring = "123456abcd123";
if (mystring.isNumeric()) MessageBox.Show("The input string is a number.");
else MessageBox.Show("The input string is not a number.");
de entrada:
1234 56abcd123
123.6
Salida:
falsa
cierto
lo que debería ser el parámetro? ¿Aceptará una cadena enorme? ¿hay alguna limitación? – Maneesh
para una cadena enorme necesitas una expresión regular – jspcal
¡Gracias a la solución reg Exp funciona! Gracias jspcal – Maneesh