Tester si une variable est numerique

Tester si une variable est numerique - C++ - Programmation

Marsh Posté le 07-01-2007 à 18:34:50    

Bonjour,
 
Je souhaiterais savoir comment tester si une variable est numerique. Avez vous une solution par exemple avec la STL ?
 
Merci d'avance

Reply

Marsh Posté le 07-01-2007 à 18:34:50   

Reply

Marsh Posté le 07-01-2007 à 18:38:12    

Une variable ?  
Le contenu d'une string ?

Reply

Marsh Posté le 07-01-2007 à 18:46:22    

je voulais aussi faire ça mais je n'ai pas trouvé la commande direct ( comme IsNumeric dans VB ).
 
Met ta variable dans une chaine de caractère et teste les séparement
 
comme ça  
 
for (i=0;i<strlen(variable);i++
{
   for (j=0;j<10;j++)
   {
    if (variable[i] != "j" )
   break
   }
}
 
C'est pas tout a fait ça mais ça peut marcher en appronfondissant

Reply

Marsh Posté le 07-01-2007 à 18:56:39    

En, fait, c 'est histoire de savoir si il y eu une division par zero ou un truc du genre ...

Reply

Marsh Posté le 07-01-2007 à 19:17:26    

isnan

Reply

Marsh Posté le 07-01-2007 à 19:24:05    

ok, merci !

Reply

Marsh Posté le 07-01-2007 à 20:32:01    

beletteenrage a écrit :


for (i=0;i<strlen(variable);i++
{
   for (j=0;j<10;j++)
   {
    if (variable[i] != "j" )
   break
   }
}
 
C'est pas tout a fait ça mais ça peut marcher en appronfondissant


En effet faut appronfondir parce que là c'est n'importe quoi !
 
"j" ne se transformera pas en "0", "1", "2"...
En supposant que tu tournes en ASCII, c'est '0' + j

Reply

Marsh Posté le 18-01-2007 à 09:17:48    

Je ne comprend pas le problème ? s'il s'agit de savoir si une chaine de caractères peut être interprétée comme une valeur numérique (en base 10 je suppose) il suffit de tester le retour de "scanf".
Quand à l'astuce d'avoir stocké 'toto' ou '1234' sur un int32 puis ensuite de chercher à savoir de quel type il s'agit cela me semble à proscrire.

Reply

Marsh Posté le 07-02-2007 à 12:59:21    


Code :
  1. bool bCestUnChiffre=false;
  2. if( strcmp( itoa( atoi( chaine ) ) , chaine ) == 0 )
  3.    bCestUnChiffre=true;


vala !


Message édité par point le 07-02-2007 à 12:59:39
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed