Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++에서 double을 문자열로 변환하는 방법 – std::to_string 완벽 정리

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을 활용하는 것이 좋습니다.