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

C++Builder Discussion :

ISNUMBER et ISTEXT


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    �tudiant
    Inscrit en
    Janvier 2007
    Messages
    3
    D�tails du profil
    Informations personnelles :
    �ge : 42

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Par d�faut ISNUMBER et ISTEXT
    Bonjour � tous !

    Je r�alise un projet sous C++ Builder afin de programmer un logiciel de data mining et je souhaite utiliser les fonctions ISNUMBER() et ISTEXT() pour v�rifier si mes variables sont discr�tes ou continues.
    Je n'arrive pas � trouver la biblioth�que qu'il faut ajouter.
    J'obtiens l'erreur suivante � la compilation :"Appel a une fonction non d�finie".
    La syntaxe est-elle correcte : " if(ISNUMBER(a)) {...} ?

    J'esp�re que vous pourrez m'aider ...
    Merci d'avance,
    Marion

  2. #2
    Membre exp�riment� Avatar de Mattetfamilly
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Par d�faut

    et regardes ensuite, je ne suis pas s�r que la typographie soit bonne, je crois de m�moire que ces fonctions s'appliquent � des AnsiString...

    soit
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    AnsiString MyString;
    MyString="123";
    if(!MyString.ISNUMBER())
                  ShowMessage("Voici une chaîne qui est un nombre: "+MyString);
    if(!MyString.ISTEXT())//Ceci est forcément vrai si le 1er message est faux
                  ShowMessage("Voici une chaîne qui est une chaîne: "+MyString);
    donc si je ne me trompes pas, apr�s tu peux transformer l'AnsiString
    en entier:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    int le_nombre;
    if(!MyString.ISNUMBER())
                  le_nombre=StrToInt(MyString);
    ou en d�cimal:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    float la_valeur;
    if(!MyString.ISNUMBER())
                  la_valeur=StrToFloat(MyString);
    @+
    Mattetfamilly

  3. #3
    Futur Membre du Club
    �tudiant
    Inscrit en
    Janvier 2007
    Messages
    3
    D�tails du profil
    Informations personnelles :
    �ge : 42

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Par d�faut
    Merci pour ta r�ponse si rapide !
    La chaine que je passe en param�tre est en effet une AnsiString.
    J'ai essay� la syntaxe que tu as marqu�e (ainsi que celle que j'ai marqu� car les 2 �taient sur internet). Mais lorsque j'ai essay�, �a me mettais aussi l'erreur, c'est la raison pour laquelle je pense qu'il doit memanquer une biblioth�que. Je les ai toutes ajout�es (enfin toutes celles que j'ai pu trouver sur le net ! mais rien n'a march� ! J'avais touours mon erreur !)
    Sur l'aide de C++ Builder et sur le net je n'ai rein trouv� concernant la bonne biblioth�que ... Peut etre la connais tu ?
    Je r�essaierais �a lundi ...
    Merci encore,
    Marion

  4. #4
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Bonsoir,

    Je ne pense pas que cela soit un syntaxe correcte.
    Essaies:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    String S = Edit1->Text;
    if (IsNumeric(S)   )
    {
    	ShowMessage("oki num");
    }
    else
    {
    	ShowMessage("pas oki, pas num");
    }
    Sinon, convertir sans m�nagement en int:
    et g�rer l'erreur soulev�e en cas de valeur non conforme ( EConvertError ) ...
    Pas sur que ce soit une id�e g�niale tout de m�me

    @ +

  5. #5
    Membre exp�riment� Avatar de Mattetfamilly
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Par d�faut
    En prenant ToInt, il faudrait faire un bloc try / catch pour g�rer l'erreur,
    dans son cas, il vaut mieux utiliser un ToIntDef. Si la valeur n'est pas un entier, alors la fonction renvoit la faleur par d�faut indiqu�e sans g�n�rer d'erreur.
    Dans ce cas, je penses que l'utilisation d'un gestionnaire d'erreur par l'utilisation d'un try catch serait trop lourd...

    Je v�rifierais demain au boulot comment marche ISNumeric. Il me semble l'avoir utiliser r��amment.


    @+
    Mattetfamilly.

  6. #6
    Futur Membre du Club
    �tudiant
    Inscrit en
    Janvier 2007
    Messages
    3
    D�tails du profil
    Informations personnelles :
    �ge : 42

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Par d�faut
    Citation Envoy� par Mattetfamilly
    Je v�rifierais demain au boulot comment marche ISNumeric. Il me semble l'avoir utiliser r��amment.
    Merci beaucoup c'est gentil ! Merci � vous deux, toutes les solutions sont � essayer car je ne peux pas contourner ce probl�me ... Il me faut savoir si la variable est une variable contine ou discr�te ! Et le seul moyen que j'ai trouv� c'est ISNUMBER et ISTEXT !

    Merci encore,
    Marion

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. fonctions isnumeric, istext
    Par solipop dans le forum Macros et VBA Excel
    R�ponses: 5
    Dernier message: 18/07/2011, 13h24
  2. Equivalent � isnumber()
    Par sebastien00 dans le forum SQL
    R�ponses: 3
    Dernier message: 10/11/2008, 18h56
  3. Commentaires sur ma fonction isnumber(char *)
    Par GnuVince dans le forum C
    R�ponses: 2
    Dernier message: 16/10/2007, 17h40

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