Duplicata possible : Comment identifier si la chaîne contient un nombre?
En VB, il y a une fonction IsNumeric, y a-t-il quelque chose de similaire en c# ?
Pour contourner ce problème, je viens d'écrire le code:
if (Int32.Parse(txtMyText.Text.Trim()) > 0)
Je me demandais juste s'il y avait une meilleure façon de le faire.
Réponses
Trop de publicités?
Otávio Décio
Points
44200
Reinaldo
Points
1598
Je pense que vous avez besoin de quelque chose d'un peu plus générique. Essaye ça:
public static System.Boolean IsNumeric (System.Object Expression)
{
if(Expression == null || Expression is DateTime)
return false;
if(Expression is Int16 || Expression is Int32 || Expression is Int64 || Expression is Decimal || Expression is Single || Expression is Double || Expression is Boolean)
return true;
try
{
if(Expression is string)
Double.Parse(Expression as string);
else
Double.Parse(Expression.ToString());
return true;
} catch {} // just dismiss errors but return false
return false;
}
}
J'espère que ça aide!