cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008
-
28 mars 2006 à 23:41
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 2012
-
29 mars 2006 à 03:24
Bonjour,
actuellement pour déterminer si un nombre n est un entier, je proçède comme ceci :
int i;
bool EstUnEntier = true;
try
{
i=
int.Parse(n);
}
catch
{
EstUnEntier = false;
}
Mais c'est un peu lourd et je me demandais si il n'y avais pas un façon plus simple de procéder. La méthode GetType() me permet de récupérer le type, mais quand j'écris :
if (n.GetType() == int)
J'obtiens un erreur. En fait j'ai essayé pleins de manière d'écrire le membre de droite dans l'égalité ci-dessus mais j'obtiens toujours une erreur...
Pourriez-vous m'indiquer comment on à l'habitude de procéder pour faire un tel test ?
Merci d'avance.
Mathmax
A voir également:
Comment savoir si un nombre est entier
Vérifier si un nombre est entier python - Meilleures réponses
Tester si un nombre est entier python - Meilleures réponses
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 29 mars 2006 à 03:24
Il existe l'opérateur is ( et as ) pour tester le type d'un objet, ces opérateurs son surtout utiles pour deviner le vrai type d'un objet casté précédemment.
Si dans ton exemple n est une chaine, la méthode Int.TryParse ( en .NET 2.0 ) est moin lourde, si n est un char il y'a la méthode Char.IsDigit.
int i = 10;
object o = i;
if ( o is int )
MessageBox.Show( "le vrai type est int" );