Vérification de saisie [Résolu]

Signaler
Messages postés
43
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
30 janvier 2006
-
Messages postés
43
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
30 janvier 2006
-
Bonjour, je débute en C#...

voilà mon problème : je récupère des champs textes grace à "mon_textfield.Text" et j'aimerai vérifier que l'utilisateur a bien entré un integer ou float. Est ce que cela peut se faire avec cette fonction (qui le transforme en string) ou c complètement autre chose :)

Merci d'avance

11 réponses

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
54
J'ai l'air d'un guignol
En plus j'avais mis ma méthode en void et pas en bool
Bon bah, alors


<HR>

private
bool ValidateValue(
string str)
{

return Double.TryParse(str) || Int32.TryParse(str);
}


<HR>

Mx
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
tu peux essayer de faire :

Int32.Parse( mon_textfield.Text );
et Double.Parse( mon_textfield.Text );

Sébastien FERRAND
[MVP C#]
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
Double.TryParse plutôt ;-)

et en .Net 2.0 Int32.TrpyParse aussi :-)

/*
coq
MVP Visual C#
*/
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
54
Tu veux que les données soient validées de quelle facon ?
Lors du click sur un bouton ?
Lors de la perte de focus du Textbox ?

Tu peux essayer quelque chose comme ca


<HR>


private
void ValidateValue(
string str)
{

bool isInt =
true;

bool isFloat =
true;

try
{

float.Parse(str);
}

catch (
Exception) { isFloat =
false; }

try
{

int.Parse(str);
}

catch (
Exception) { isInt =
false; }



return isInt || isFloat;
}


<HR>

Mx
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
Int32.TryParse

/*
coq
MVP Visual C#
*/
Messages postés
43
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
30 janvier 2006

merci encore à vous tous!
Messages postés
43
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
30 janvier 2006

j'ai un petit soucis avec cette fonction :/


private
bool ValidateValue(
string str)
{

return Double.TryParse(str) || Int32.TryParse(str);
}

j'ai une erreur "Aucune surcharge pour la méthode 'TryParse' ne prend d'arguments '1' "

et je ne vois pas ce que je peux faire...

merci
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
54
Au temps pour moi, elle s'utilise ainsi :

int32.TryParse("10", out tonInt);
double;TryParse("10.00", out tonDouble);

Mx
Messages postés
43
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
30 janvier 2006

re bonjour, :)

je ne comprend pas comment tu utilises "out ton double" :/

voilà ma fonction :

public
void Valider (string str)


{


if (stringIsFloat (str)) //je vérifie que c bien un float


{


double vehic1_1 = double.Parse(str); //au choix


int vehic1_1 = System.Convert.ToInt32(str); //au choix


...


}


else


{


MessageBox.Show("Mauvaises données saisies ","Vérification de la saisie",MessageBoxButtons.OK,MessageBoxIcon.Information);


et il me met l'erreur "mauvaise entrée de donnée" pourtant le string d'entrée est la récupération du champ texte!!!

merci!
Messages postés
43
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
30 janvier 2006

j'ai trouvé le problème! yes!!

alors si je tape 2,3 ca marche mais mysql n'en veut pas

si je tape 2.3 :
float mon_float =
float.Parse(str); ne marche pas mais mysql veut bien!!!!!!

comment puis je faire pour caster 2.3 ???

merci d'avance!!