Conversion de char en int

magicoz Messages postés 6 Date d'inscription mercredi 28 août 2002 Statut Membre Dernière intervention 10 décembre 2002 - 5 nov. 2002 à 14:12
ezneti Messages postés 23 Date d'inscription lundi 26 mars 2007 Statut Membre Dernière intervention 29 octobre 2009 - 30 avril 2007 à 08:41
Bonjour,

Est-ce qu'il y aurait quelqu'un qui pourrait me dire comment convertir un caractère en un entier ? Un prog assez simple à réaliser, car les scripts trouvés dans le forum sont un peu hard.

Merci

5 réponses

mateo40 Messages postés 9 Date d'inscription lundi 4 novembre 2002 Statut Membre Dernière intervention 2 avril 2003
5 nov. 2002 à 14:33
Si tu travailles sous Builder
char var = '2';
int entier;

entier = StrToInt(var);
0
jcecchi Messages postés 117 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 14 janvier 2003 3
5 nov. 2002 à 17:52
Salut,

Il vaut mieux utiliser ceci :

int atoi(const char *string)
Ex :
iNombre = atoi(cString);

Cette fonction est standard.
Il faut :
#include <stdlib.h>
0
cs_TagadaTsoin Messages postés 6 Date d'inscription samedi 9 novembre 2002 Statut Membre Dernière intervention 10 novembre 2002
10 nov. 2002 à 13:05
atoi permet de tranformer une chaine en un nombre. Si tu veux transformer juste un char en un nombre (genre tester que l'utilisateur a saisi "2" pour avoir l'option du menu n°2), le moyen le plus rapide est le suivant :

char a = '2';
int b;
b = a - '0';

Pourquoi et comment ça marche ?
en fait le type char en C est un entier de 0 à 255 (en non signé), qui correspond effectivement à un caractère de la table ascii.
si tu fais un :printf("a %i en numérique, a %c en caractère", a, a);
tu affiches la valeur numérique du caractère ascii de a (que je ne connais pas par coeur) et le caractère correspondant, c'est à dire '2'.
Donc quelle que soit cette valeur numérique du caractère ascii '2', on aura toujours '2' - '0' = 2.
de même '9' - '0' = 9 etc...
Ceci est bien sur valable car dans la table ascii les caractères se suivent : de 'a' à 'z', de 'A' à 'Z' et de '0' à '9'.

tu savais peut-etre déjà tout cela, mais parfois la solution est si simple qu'on y pense pas toujours. et avec un peu de chance mon baratin servira à qqn d'autre.
0
eldered Messages postés 232 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 mai 2022
27 mars 2003 à 20:54
vi a moi ^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ezneti Messages postés 23 Date d'inscription lundi 26 mars 2007 Statut Membre Dernière intervention 29 octobre 2009
30 avril 2007 à 08:41
Bonjour tout le monde,
j'ai un probleme avec l'inclusion d'une variabe dans une requete en SQL. Mon code est en visual C++ et ma requete est la suivante:
"select sum (debit) from station where numap=j";
avec:
station: nom table
numap: champs dans cette table
j: la variable que je veux insérer elle vaut une valeur de type int .
Comment je peux faire ceci?
Dans le cas de n'importe quel autre type de cette variabe comment je peux faire ceci?
Merci d'avance.
0
Rejoignez-nous