IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

validite champ numerique


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    866
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 866
    Par défaut validite champ numerique
    bonjour,

    comment tester la validite d'une variable "float" ?

    je dois extraire des données numerique d'un tableau excel mais parfois dans la cellule il y rien ou bien du texte que bien sur je n'ai pas besoin .

    merci

  2. #2
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Tu peux encadrer ton test ou ton instruction d'un bloc try/Except et intercepter l'exception qu iest lancée ....

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Ci-dessous une méthode parmis tant d'autres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Function IsFloat(sFloat : String) : Boolean;
    var
      f : double;
    begin
      Try
        f := StrToFloat(sFloat);
        Result := True;
      Excpet on E:Exception do
        Result := False;
      end;
    end;
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Membre confirmé
    Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 73
    Par défaut
    Je fais exactement comme Malatar.
    Mais depuis je ne sais pas quand, il y a dans SysUtils une série de fonctions TryStrToxxx, dont TryStrToFloat.
    Mais j'y suis pas encore fait :-))

  5. #5
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Tiens c'est bon a savoir
    Si elle n'y est pas chez moi .. faudra que je la code ... C'est tout bete et fallait y penser

  6. #6
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut

    Comme le précise PaulR, il existe la fonction TryStrToFloat très simple à utiliser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      retVal: Extended;
    begin
      retVal := 0;
      if not TryStrToFloat('123,45', retVal) then
        ShowMessage('Echec conversion: retVal = ' + FloatToStr(retVal))
      else
        ShowMessage('Conversion OK: retVal = ' + FloatToStr(retVal));
    end;
    @+

  7. #7
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    il y a aussi la fonctions StrToFloatDef qui, si jamais la valeur n'est pas numérique, te la remplace par la valeur par défaut.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

Discussions similaires

  1. definir le nbre de chiffre d'un champ numerique
    Par Renardo dans le forum Access
    Réponses: 1
    Dernier message: 22/08/2006, 00h28
  2. Modifier un champ numerique en num auto
    Par Azerty2 dans le forum Access
    Réponses: 16
    Dernier message: 18/07/2006, 22h35
  3. Champ numerique dans table liée
    Par ob1knob dans le forum Access
    Réponses: 1
    Dernier message: 06/07/2006, 16h53
  4. probleme avec des champs numeriques
    Par el_quincho dans le forum Access
    Réponses: 1
    Dernier message: 16/03/2006, 11h55
  5. Increment d'un champ numerique
    Par oazar dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/04/2004, 23h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo