Programming Language/C, C++
[C++] int와 string 사이 형변환 방법
hanseongjun
2022. 9. 2. 15:40
참고한 블로그 :
https://www.delftstack.com/ko/howto/cpp/how-to-convert-int-to-string-in-cpp/
1. int -> string으로 변환하는 방법
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
int i;
cin >> n;
string number = to_string(n);
for (i = 0; i < number.length(); i++)
cout << number[i];
return 0;
}
- string 헤더 include
- to_string 메서드를 이용해 string 포인터에 전달 (to_string 함수는 string 객체를 반환)
* 단, 부동소수점 리터럴을 to_string 함수에 전달 시 값이 잘리는 문제 발생 가능
- 사용 예시 >
결과 >
앞의 0은 잘리고 나머지 1234만 출력되는 모습을 볼 수 있다.
2. string -> int로 변환 방법
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
int i;
cin >> n;
string number = to_string(n);
n = stoi(number);
cout << n;
return 0;
}
마찬가지로, string 헤더를 include 해주고
stoi 함수를 사용해준다. (string to int를 줄인 것)
3. 그럼 char -> int는?
char형을 int로 변환해주면, 일단 c++에서는 문자열은 string형을 쓰기 때문에 char을 int로 바꾼다는 건 보통 한 글자 내에서 연산이 이루어진다는 것이다.
따라서 char형을 int형에 저장하면 그 문자의 아스키코드값 ('1' -> 49)이 나오게 되는데, 여기서 그냥 '1'을 빼고 1을 더해 주면 된다.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
int i;
cin >> n;
string number = to_string(n);
n = number[0] - '1' + 1;
cout << n;
return 0;
}
LIST