FONCTION ISNUMERIC() POUR C#.NET

Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
- - Dernière réponse :  abc - 28 mai 2018 à 19:26
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35028-fonction-isnumeric-pour-c-net

Afficher la suite 
MorpionMx
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
38 -
Tu peux aussi utiliser la fonction char.IsNumber(char) pour savoir si un caractère donné est numérique ou non.

Ainsi

public bool IsNumeric(string str)
{
foreach(char c in str)
{
if(!char.isNumber(c)) return false;
}
return true;
}
cs_Alain Proviste
Messages postés
910
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
1 -
spottydj
Messages postés
13
Date d'inscription
mercredi 12 octobre 2005
Statut
Membre
Dernière intervention
13 juillet 2008
-
En ce qui concerne la solution de MorpionMx,
Si le chiffre est négatif, le premier caractère est donc '-' et ne sera pas compté valide.
Pour la solution de Alain Proviste,
Le principe de TryParse est long, car il attend une exception.
MorpionMx
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
38 -
Pour les nombres negatifs, oui il faut gérer le '-'.
De la meme facon, il faudra rajouter un return false si un des caracteres est le caractere ² qui est aussi considéré comme numérique.

Mon exemple n'etait qu'une ebauche rapide ;)
cs_badrbadr
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008
-
on peut faire un truc du genre:
try
{
Int32.Parse(string);
}
catch
{
Console.WriteLine("ce nombre n'est pas un integer");
}

il faut des modifications pour les float et compagnie. Parse supporte le signe négatif a ma connaissance.