Menu
Coddy logo textTech

타입 캐스팅 파트 2

Coddy C++ 여정의 기초 섹션에 포함된 레슨 — 74개 중 15번째.

C++에서는 숫자를 문자열로, 또는 그 반대로 변환할 수 있습니다. 값을 문자열로 변환하려면 std::to_string() 함수를 사용할 수 있습니다:

int number = 789;
bool isValid = true;
string text1 = to_string(number);  // "789"가 됨
string text2 = isValid ? "true" : "false";  // "true"가 됨

to_string()을 사용하여 double을 문자열로 변환하면, 원래 숫자에 그만큼의 소수 자릿수가 없더라도 기본적으로 소수점 6자리까지 표시됩니다.

예를 들어:

double n1 = 789.0;
string text1 = to_string(n1);
// "789.000000"이 됩니다

double n2 = 789.5;
string text2 = to_string(n2);
// "789.500000"이 됩니다

double n3 = 789.123;
string text3 = to_string(n3);
// "789.123000"이 됩니다

문자열을 다른 타입으로 변환하기 위해 몇 가지 옵션이 있습니다:

String to Integer:

string numberText = "123";
int number = stoi(numberText);  // 123으로 변환됨

String to Double:

string decimalText = "45.67";
double decimal = stod(decimalText);  // 45.67이 됩니다

참고: 문자열을 숫자로 변환할 때, 이 함수들은 문자열의 시작 부분부터 가능한 한 많은 유효한 문자를 읽습니다. 문자열이 유효하지 않은 문자로 시작하는 경우에만 오류를 발생시킵니다:

string validStart = "42abc";
int number = stoi(validStart);  // 42가 됨 (뒤에 오는 문자는 무시됨)

string invalidStart = "abc";
int number2 = stoi(invalidStart);  // 이 코드는 오류를 발생시킵니다

치트 시트

std::to_string()을 사용하여 숫자를 문자열로 변환합니다:

int number = 789;
string text = to_string(number);  // "789"가 됩니다

double을 변환하면 기본적으로 소수점 6자리까지 표시됩니다:

double n = 789.5;
string text = to_string(n);  // "789.500000"이 됩니다

stoi()를 사용하여 문자열을 정수로 변환합니다:

string numberText = "123";
int number = stoi(numberText);  // 123이 됩니다

stod()를 사용하여 문자열을 double로 변환합니다:

string decimalText = "45.67";
double decimal = stod(decimalText);  // 45.67이 됩니다

참고: 유효하지 않은 문자열을 숫자로 변환하면 오류가 발생합니다.

직접 해보기

이 레슨에는 코드 챌린지가 없습니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨