Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1034 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Comment savoir si dans un tab dechar il y a des entier et des reel ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment savoir si dans un tab dechar il y a des entier et des reel ?

n°1985252
nicolas77
Posté le 18-04-2010 à 17:57:46  profilanswer
 

Bonjour,
Dans le cadre d'un projet, je suis amené à lire des textbox et écrire dans un fichier certaines valeurs.
Seulement, l'utilisateur doit écrire dans certaines textbox des valeurs entière et dans d'autres des valeurs réel.
Je sais que je suis dans le forum c++, et que je code actuellement en .net c++, mais ce problème est aussi valable en c++.
 
Donc voila, je récupére les valeurs des textbox dans un char* ( elle sont initialement en String^, je peux donc si il le faut les convertir en std::string ) .
 
Maintenant je me demande comment savoir si l'utilsateur à bien entré dans la textbox un entier, ou un réel ( avec un '.' et non une ',' ) .
Je pensais tester toutes les cases du char* , jusqu'au caractère '\0', et si il y a que des caractère de chiffres alors c'est bon dans le cas d'un nombre entier.
Dans le cas d'un réel, je test si il n'y a que des chiffre et un seul '.' .
 
Auriez-vous peut-être une méthode plus simple ?  
 
Merci beaucoup

mood
Publicité
Posté le 18-04-2010 à 17:57:46  profilanswer
 

n°1985305
Joel F
Real men use unique_ptr
Posté le 18-04-2010 à 21:18:44  profilanswer
 

boost::regex, boost::spirit au choix

n°1985379
nicolas77
Posté le 19-04-2010 à 09:47:13  profilanswer
 

Merci de ta réponse.
J'ai trouvé quelques tuto sur boost::regex mais c'est vraiment compliqué à utiliser ( à première vu ).
Je ne comprend pas vraiment quel méthode utiliser pour faire mes tests.
 
Pourrait-tu me donner un petit exemple d'utilisation rapide ?
Merci beaucoup

n°1985384
Joel F
Real men use unique_ptr
Posté le 19-04-2010 à 10:11:52  profilanswer
 

c'ets des expressions regulière :o, donc goto google.

n°1985390
Un Program​meur
Posté le 19-04-2010 à 10:19:20  profilanswer
 

A l'endroit ou la validation se fait, je tente l'evaluation (strtol, strtod me semblent etre fait pour ca) et si elle echoue je donne un message d'erreur.  Si elle reussit, je stocke le resultat evalue et la suite utilise celui-ci.


---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°1985419
nicolas77
Posté le 19-04-2010 à 11:37:14  profilanswer
 

Alors si je comprend bien strtol et strtod convertissent du string en long ou double.
Seulement si dans la textbox ou je dois lire un entier,  le monsieur à entrer un réel, je ne me rendrais pas compte qu'il ait entré un réel ? Car la fonction strtol fera un arrondi pour que cela fasse un entier ?

n°1985421
Un Program​meur
Posté le 19-04-2010 à 11:39:40  profilanswer
 

Il y a un parametre qui indique ou la chaine consideree s'arrete.  Tu devrais encore verifier qu'il n'y a que des blancs jusqu'a la fin (mon experience me dit que les interdire n'est pas un bon choix).


---------------
The truth is rarely pure and never simple (Oscar Wilde)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Comment savoir si dans un tab dechar il y a des entier et des reel ?

 

Sujets relatifs
Mettre à jour une URL en temps réel selon ce qui est écrit ds 1 inputrealisation d'un jeu temps réel genre "Uno"
entier a valeur maximum. (RESOLU)Cherche exemple d'application temps réel en java
Script pour savoir si mon site a été visité,...algo multiplication polynome par un entier
convertir une chaine de char en entierCommande VBS , pour savoir si l'imprimante existe
Conversion string en entier[PHP5] savoir si on doit ouvrir une session
Plus de sujets relatifs à : Comment savoir si dans un tab dechar il y a des entier et des reel ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR