본문 바로가기

C 언어

문자를 숫자로 변환하기

프로그래밍을 하다 보면 문자열 형태의 숫자를 실제 숫자로 변환하거나, 반대로 숫자를 문자 형태로 변환해야 할 때가 있다. C 언어에서 이러한 변환은 아주 간단하게, 그리고 직관적으로 이루어진다.

문자를 숫자로 변환하기
문자 '0'부터 '9'까지의 문자는 ASCII 코드에서 연속적인 값을 가지므로, 이들 각각의 문자에서 '0'의 ASCII 코드값(48)을 빼면 그 결과는 0부터 9까지의 정수가 된다.

int num = 5; // 숫자 5
char ch = num + '0'; // 숫자 5에 '0'을 더하면 문자 '5'가 됨

 

숫자를 문자로 변환하기
반대로, 정수 0부터 9까지를 그에 해당하는 ASCII 문자로 변환하려면, '0'의 ASCII 코드값을 더하면 된다.

int num = 5; // 숫자 5
char ch = num + '0'; // 숫자 5에 '0'을 더하면 문자 '5'가 됨

 

참고: ASCII 코드표