[C++] stoi & to_string 문자열 ↔ 정수 변환

반응형
반응형

[C++] stoi & to_string

* 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다.

 

_content

#1 stoi

#2 to_string


#1 stoi

<string>에 정의되어 있다.

int stoi(const std::string& str, std::size_t* pos = 0, int base = 10);
int stoi(const std::wstring& str, std::size_t* pos = 0, int base = 10);

stoi 함수는 string 혹은 wstring 문자열 strbase 진법을 사용하는 부호있는 정수로 변환값을 리턴한다.

* 문자열 내에 부호(-)가 포함되어 있으면 부호까지 인식하여 정수 타입으로 변환시킨다.

* 문자열 내에 소수점이 포함되어 있다면 소수점은 모두 제거하고 정수 타입으로 변환시킨다.

* 문자열 내에 숫자와 문자열이 같이 포함되어 있다면 문자열은 제거하고 숫자 문자열만 정수 타입으로 변환시킨다. 

#include <iostream>
#include <string>
using namespace std;

int main(){
	string str1 = "1234";
	string str2 = "-1234";
	string str3 = "1.234";
	string str4 = "1234문자열";
	
	int num1 = stoi(str1);
	int num2 = stoi(str2);
	int num3 = stoi(str3);
	int num4 = stoi(str4);
	int num5 = stoi(str5);
	
	cout << "num1 : " << num1 << '\n';
	cout << "num2 : " << num2 << '\n';
	cout << "num3 : " << num3 << '\n';
	cout << "num4 : " << num4 << '\n';
	return 0;
}
num1 : 1234
num2 : -1234
num3 : 1
num4 : 1234

#2 to_string

<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);

to_string 함수는 숫자 타입의 데이터를 문자열 타입의 데이터로 변환하도록 도와주는 함수이다.

파라미터로 int형 뿐 만 아니라 다양한 숫자 타입 자료형을 보낼 수 있도록, 오버라이딩 되어 있다.

#include <iostream>
#include <string>
using namespace std;

int main(){
	int num1 = 10;
	float num2 = 10.000001f;
	
	cout << "num1(int) : " << to_string(num1) << '\n';
	cout << "num2(float) : " << to_string(num2) << '\n';
	return 0;
}
num1(int) : 10
num2(float) : 10.000001
반응형

댓글

Designed by JB FACTORY