Vérifier si une chaîne est numérique (de type Double) ? [Résolu]

Messages postés
46
Date d'inscription
samedi 19 janvier 2008
Dernière intervention
7 mai 2011
- 12 févr. 2008 à 18:39 - Dernière réponse :
Messages postés
46
Date d'inscription
samedi 19 janvier 2008
Dernière intervention
7 mai 2011
- 18 févr. 2008 à 12:37
Salut

Je veux savoir comment vérifier si une chaîne dans un TEdit est numérique ou non ?
Delphi 7

kabakas
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
97
Date d'inscription
vendredi 12 octobre 2007
Dernière intervention
20 novembre 2009
- 12 févr. 2008 à 18:47
3
Merci
Bonjour,

Si jamais tu as Delphi 6 ou supérieur, tu peut regarder du cote de TryStrToFloat ou TryStrToInt qui te permet de vérifier que la valeur entrée est bien un réèl  / un entier.

Bon courage!

Merci BernieNoel68 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de BernieNoel68
Meilleure réponse
Messages postés
97
Date d'inscription
vendredi 12 octobre 2007
Dernière intervention
20 novembre 2009
- 13 févr. 2008 à 15:41
3
Merci
Je n'ai pas Delphi sous la main, donc je vais plongé dans mes souvenirs!

Imaginons que ta valeur soit dans Edit1:

----------------------------------------------------------
var value: float;

if ( TryStrToFloat( Edit1.Text, value) ) then
begin
 // Edit1 contient bien un réèl, et la valeur est stockée dans value
end
----------------------------------------------------------

Merci BernieNoel68 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de BernieNoel68
Meilleure réponse
Messages postés
97
Date d'inscription
vendredi 12 octobre 2007
Dernière intervention
20 novembre 2009
- 13 févr. 2008 à 18:14
3
Merci
A prioris on est ici sur un forum Delphi, mais tu as de la chance, j'ai C++ Builder 6 sous la main !

Et ça marche egalement  (hormis les guillemets au lieu des simples côtes):

double value;
{
  if (TryStrToFloat(Edit1->Text, value)) Label1->Caption = "ok";
  else Label1->Caption = "non";
}

Merci BernieNoel68 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de BernieNoel68
Meilleure réponse
Messages postés
97
Date d'inscription
vendredi 12 octobre 2007
Dernière intervention
20 novembre 2009
- 14 févr. 2008 à 08:49
3
Merci
Je ne sais pas d'où vien l'erreur,  chez moi ça marche sans problème!

Créer un nouveau projet, place sur ta fiche principale juste 3 choses : 1 TEdit, 1 TLabel et 1 TButton.

et place ce code dans la fonction du bouton:

---------------------------------------------------------------
double value;
{
  if (TryStrToFloat(Edit1->Text, value)) Label1->Caption = "ok";
  else Label1->Caption = "non";
}
---------------------------------------------------------------

Merci BernieNoel68 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de BernieNoel68
Messages postés
46
Date d'inscription
samedi 19 janvier 2008
Dernière intervention
7 mai 2011
- 13 févr. 2008 à 15:11
0
Merci
Merci BernieNoel68
Veux-tu me donner un exemple d'utilisation de TryStrToFloat, svp

et merci encore !!
Commenter la réponse de cs_kabakas
Messages postés
46
Date d'inscription
samedi 19 janvier 2008
Dernière intervention
7 mai 2011
- 13 févr. 2008 à 17:24
0
Merci
Merci

je l'ai testé sous Delphi7 et c'est bien passé :

------------------------
var value: double;
begin
  if TryStrToFloat(Edit1.Text, value) then label1.Caption := 'ok'
  else label1.Caption := 'non'
end;
-------------------------

mais, je n'arrive pas à le faire sous C++ Builder 6 :
------------------------
double value;
{
  if (TryStrToFloat(Edit1->Text, value)) Label1->Caption = 'ok';
  else Label1->Caption = 'non';
}
-------------------------

kabakas
Commenter la réponse de cs_kabakas
Messages postés
46
Date d'inscription
samedi 19 janvier 2008
Dernière intervention
7 mai 2011
- 13 févr. 2008 à 21:05
0
Merci
Je l'ai fais, mais erreur à l'exécution : [Lieur Erreur fatale] Fatal: Expected a file name:

je crois que ça vient de #include <????>
Commenter la réponse de cs_kabakas
Messages postés
46
Date d'inscription
samedi 19 janvier 2008
Dernière intervention
7 mai 2011
- 18 févr. 2008 à 12:37
0
Merci
merci bien BernieNoel68, ça a marché !!
Commenter la réponse de cs_kabakas

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.