Vérification de saisie

Résolu
maxelpiratos Messages postés 43 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 30 janvier 2006 - 5 déc. 2005 à 09:26
maxelpiratos Messages postés 43 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 30 janvier 2006 - 5 déc. 2005 à 16:36
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

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
5 déc. 2005 à 09: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
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
5 déc. 2005 à 09:37
tu peux essayer de faire :

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

Sébastien FERRAND
[MVP C#]
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
5 déc. 2005 à 09:49
Double.TryParse plutôt ;-)

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

/*
coq
MVP Visual C#
*/
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
5 déc. 2005 à 09:50
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
5 déc. 2005 à 09:50
Int32.TryParse

/*
coq
MVP Visual C#
*/
0
maxelpiratos Messages postés 43 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 30 janvier 2006
5 déc. 2005 à 10:18
merci encore à vous tous!
0
maxelpiratos Messages postés 43 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 30 janvier 2006
5 déc. 2005 à 14:30
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
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
5 déc. 2005 à 14:33
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
5 déc. 2005 à 14:37
Au temps pour moi, elle s'utilise ainsi :

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

Mx
0
maxelpiratos Messages postés 43 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 30 janvier 2006
5 déc. 2005 à 15:48
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!
0
maxelpiratos Messages postés 43 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 30 janvier 2006
5 déc. 2005 à 16:36
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!!
0
Rejoignez-nous