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

MFC Discussion :

Comment v�rifier qu'une CString est un nombre?


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Par d�faut Comment v�rifier qu'une CString est un nombre?
    Bonjour,

    j'aimerais savoir comment �tait-il possible de d�terminer si une CString est un nombre ou non?

    quand on utilise la m�thode atoi(maChaine), il semble que �a passe m�me si maChaine n'est pas un nombre...

    existe-t-il une m�thode permettant de faire ce test?...

    Merci

  2. #2
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    Je dirais que si taChaine.SpanExcluding(_T("0123456789")).GetLength()>0 cela contient au mieux plus qu'un nombre.

  3. #3
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    tu peux aussi utiliser strtol qui t'indiquera la chaine qui ne contient pas de nombre.
    voir faq: http://cpp.developpez.com/faq/vc/ind...ConvertCString

  4. #4
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Par d�faut
    Houl�,
    la d�finition de SpanExcluding est assez complexe :
    Return Value
    A substring that contains characters in the string that are not in lpszCharSet, beginning with the first character in the string and ending with the first character found in the string that is also in lpszCharSet (that is, starting with the first character in the string and up to but excluding the first character in the string that is found lpszCharSet). It returns the entire string if no character in lpszCharSet is found in the string.
    est-ce que �a marche quand m�me si maChaine commence par un des caract�res � exclure??...

    merci


    farscape,
    je ne pense pas que ce que tu me proposes me convienne...
    je ne cherche pas � extraire la chaine qui ne contient pas de chiffre

    je veux juste savoir si ma chaine contient uniquement des chiffres ou non

  5. #5
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    �a n'extrait pas de chaine , si il y a une erreur de conversion la chaine est d'erreur est <> NULL lit bien le post de la fac et la doc ...

  6. #6
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Par d�faut
    oui,
    en effet...

    mais je pense que la m�thode de 3DArchi conviendrait mieux

  7. #7
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    Tu as raison, si ta cha�ne commence par un chiffre, �a ne va pas aller. On peut essayer � l'envers: SpanIncluding:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    bool b_est_chiffre = (str.SpanIncluding(_T("0123456789")).GetLength()==str.GetLength())&&(!str.IsEmpty());
    Non?

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

Discussions similaires

  1. R�ponses: 11
    Dernier message: 16/12/2007, 16h33
  2. Comment v�rifier qu'une valeur est NULL ?
    Par innova dans le forum MS SQL Server
    R�ponses: 2
    Dernier message: 20/11/2006, 14h53
  3. Comment v�rifier qu'une date est nulle
    Par stressy dans le forum Access
    R�ponses: 7
    Dernier message: 09/12/2005, 15h41

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