Savoir si un string n'est que numérique [Résolu]

Signaler
Messages postés
20
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
29 juin 2008
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
Bonjour tout le monde!

À première vue, utiliser un String pour stocker un chiffre est assez inscenser. Sauf lorsque le nombre maximal de caractère pour ce chiffre est 75(un integer a 10 caractères max). Donc, je voudrais votre aide pour m'aider à savoir si ce String n'est que numérique(sauf le premier caractère qui peu être "-", car le nombre peut être négatif). Tout code ou même idée de façon de procédé sont les bienvenue.

Merci

9 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
14
Oops petite correction:

BOOL isNum (char *x)
{
    if(*x != '-' && (*x < '0' || *x > '9')) return FALSE;

    while(*++x)
        if(*x < '0' || *x > '9') return FALSE;

    return TRUE;
}

C++ (@++)<!--
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
14
Fait rapidement:

BOOL isNum (char *x)
{
    if(*x == '-' || (*x >= '0' && *x <= '9')) {
        while(*++x) if(*x < '0' || *x > '9') return FALSE;
    }

    return TRUE;
}

C++ (@++)<!--
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
"Sauf lorsque le nombre maximal de caractère pour ce chiffre est 75..."

Mais c'est tout l'inverse, plus un logiciel doit traiter de lourdes données et moins il doit se faire avec des surcouches d'interprétation.

ciao...
BruNews, MVP VC++
Messages postés
20
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
29 juin 2008

Merci beaucoup pour ton aide. BruNews, pourrais-tu me dire ce que c'est des "surchouches d'interprétation"? S'il te plait.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
14
string

C++ (@++)<!--
Messages postés
20
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
29 juin 2008

Merci.

Alors, aurais-tu une meilleure idée?
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
14
Ne pas utiliser de class string.

C++ (@++)<!--
Messages postés
20
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
29 juin 2008

Désolé pour mon imprécision, mais je le savais déja cela. Ce que je voulais dire est : Quelle autre façon de procédé devrais-je utiliser avec code ou bien avec une idée.
J'espère être plus clair comme cela.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
14
Ben tu stock tes données dans un tableau de char par exemple:

char tmp[75];

C++ (@++)<!--