타입 캐스팅 파트 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이 됩니다참고: 유효하지 않은 문자열을 숫자로 변환하면 오류가 발생합니다.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.