C++
c++ 형 변환 정리
transfer_kk
2023. 3. 20. 12:44
아스키 코드
string값을 --값으로 변환하는 함수 => stoi, stod
stoi => string to int
stod => string to double
string을 int 값으로 변환
string a = "1234";
int b = stoi(a); //b=1234
string을 double 값으로 변환
string a = "12.34";
double b = stod(a); // b=12.34
int, double값을 string으로 변환 (#include <string>)
int num = 1234;
string s = to_string(num);
to_string은
string to_string (int num);
string to_string (long num);
string to_string (long long num);
string to_string (unsigned num);
string to_string (unsigned long num);
string to_string (unsigned long long num);
string to_string (float num);
string to_string (double num);
string to_string (long double num);
으로도 사용 가능하다.
char 값을 int로 변환
// char 숫자 값을 int로 변환
char charValue = '5';
int a = charValue - '0'; // a = 5
아스키 코드의 순서가 0부터 9씩 차례대로 1씩 늘어나므로 위와 같이 작성하면 해당 수의 값을 구할 수 있다.
/* 문자 -> 아스키코드 */
char ch = 'A';
int a = atoi(ch); // a = 65
이를 이용해서 알파벳을 그에 해당하는 숫자로도 변환할 수 있다. char 숫자 값을 int로 변환 한 것처럼 하면 된다.
char ch = 'C';
int a = ch-'A'; // 2
이외에도 atoi, atof 함수로도 형변환이 가능하다.
atoi => char(Ascii) to int
atof => char(Ascii) to double
char 값을 int 값으로 변환
char str[] = "2019";
int a = atoi(str); // a = 2019
char 값을 double 값으로 변환
char str[] = "20.19";
double a = atod(str); // a = 20.19
int 값을 char로 변환
/* 대문자는 정수 65 ~ 90까지 총 26개 */
int num = 90;
cout << (char)num; // Z
int num = 65;
cout << (char)num; // A
/* 소문자는 정수 97 ~ 122까지 총 26개 */
int num = 122;
cout << (char)num; // z
int num = 97;
cout << (char)num; // a