Signup/Sign In
Ask Question
Not satisfied by the Answer? Still looking for a better solution?

Convert char to int in C and C++

How would I change char over to int in C and C++?
by

2 Answers

rahul07
Depends on what you want to do:

to read the value as an ascii code, you can write

char a = 'a';
int ia = (int)a;
/ note that the int cast is not necessary -- int ia = a would suffice */

to convert the character '0' -> 0, '1' -> 1, etc, you can write

char a = '4';
int ia = a - '0';
/* check here if ia is bounded by 0 and 9
/

Explanation:
a - '0' is equivalent to ((int)a) - ((int)'0'), which means the ascii values of the characters are subtracted from each other. Since 0 comes directly before 1 in the ascii table (and so on until 9), the difference between the two gives the number that the character a represents.
RoliMishra
Well, in ASCII code, the numbers (digits) start from 48. All you need to do is:

int x = (int)character - 48;


Or, since the character '0' has the ASCII code of 48, you can just write:

int x = character - '0';  // The (int) cast is not necessary.

Login / Signup to Answer the Question.