C++에서는 std::to_string 함수를 사용하여 double 타입의 값을 간단하게 문자열(string)로 변환할 수 있습니다. 이 함수는 double 값을 매개변수로 받아, 해당 숫자를 문자 시퀀스 형태로 담고 있는 string 객체를 반환합니다.
다음은 실제 동작 과정을 보여주는 예제 프로그램입니다.
예제 코드
#include <iostream>
#include <string.h>
using namespace std;
int main() {
double d = 238649.21316934;
string s = to_string(d);
cout << "Conversion of double to string: " << s;
return 0;
}실행 결과
위 프로그램의 실행 결과는 다음과 같습니다.
Conversion of double to string: 238649.213169
이제 위 프로그램의 동작 원리를 하나씩 살펴보겠습니다.
먼저 double 타입의 변수 d를 선언하고 238649.21316934라는 값으로 초기화합니다. 그다음 to_string 함수에 이 double 값을 전달하여 문자열로 변환한 뒤, 그 결과를 string 객체 s에 저장합니다. 마지막으로 cout을 통해 변환된 문자열을 화면에 출력합니다. 이 과정을 나타내는 핵심 코드는 아래와 같습니다.
double d = 238649.21316934; string s = to_string(d); cout << "Conversion of double to string: " << s;
참고: 소수점 자릿수 주의사항
실행 결과에서 원래 입력값인 238649.21316934가 238649.213169로 표시된 점을 눈치채셨나요? std::to_string은 기본적으로 소수점 이하 여섯 자리까지만 출력하기 때문입니다. 만약 더 많은 소수 자릿수가 필요하거나 출력 형식을 세밀하게 제어하고 싶다면, <iomanip> 헤더의 std::setprecision과 함께 std::ostringstream을 사용하거나, C++20부터 지원되는 std::format을 활용하는 것이 좋습니다.