Contrôle de saisi

TontonWayiz - 9 oct. 2013 à 20:43
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 10 oct. 2013 à 09:25
Bonjour,
C'est mon premier message dans un forum, donc si je viole quelques règles, je vous prie de m'excusée.
Bon voila mon problème : je suis débutant en C# et j'essaye de trouver une manière de mettre une condition précise dans une structure répétitive.
Je veux contrôlé sur la valeurs saisi est bien de type numérique ou pas.
Par exemple un truc qui pourrais ressembler à sa :
Tant que (valeur saisi n'est pas de type de Numérique (int)) alors
afficher un message d'erreur.

Ou bien :
Tant que (la valeur saisi est de type string) alors
afficher un message d'erreur

2 réponses

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
9 oct. 2013 à 21:41
Hello,
Avec un bout de code, ce serait plus facile de t'aiguiller.
De quel type est
valeur
par exemple?

Si valeur est une string, tu peux utiliser
int.TryParse(valeur);


Si valeur est un char, tu peux utiliser
Char.IsNumber(valeur);


Tu peux également jouer avec les RegEx
2
Merci de d'être pencher sur ce cas
La valeur est de type int
Je souhaiterais afficher un message d'erreur si l'utilisateur saisi un valeur qui n'est pas de type int.

voici un bout de code :

 int nb1, nb2; 
Console.Write("Quelle table veux-tu réviser ? ");
 nb1 = Convert.ToInt32(Console.ReadLine());

 Console.Write("Jusqu'a quel nombre souhaite-tu réviser ? ");
 nb2 = Convert.ToInt32(Console.ReadLine());
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
10 oct. 2013 à 09:25
Yop,
Pas testé, mais ça devrait le faire...ou presque
bool bError;	
do
{	
    try
    {
        bError=false;
        string line =Console.ReadLine();
        int num = int.Parse(line);
        
        // ici tu as une valeur numérique
    }
    catch (System.FormatException e)
    {
        // ici tu as une saisie incorrect
        Console.WriteLine("Saisie est incorrecte !");
        bError=true;
    }	
} while (bError);

0
Rejoignez-nous