(기술적 질문) #10_실수 문자열 변환
실수(float, double)를 문자열로 변환하는 방법을 살펴보겠습니다.
개요
- 매크로
- std::to_string 함수
- std::stringstream 객체 + str 함수
#0. 매크로
1. 매크로 표현
#include <iostream>
#include <string>
using namespace std;
#define STRING(num) #num
int main()
{
string float_str(STRING(123.456));
cout << float_str << endl;
return;
}
세부
- 전처리기 매크로를 사용하여 부동 소수점 숫자를 문자열로 변환할 수 있습니다.
- 이 메서드는 리터럴 부동 소수점 숫자를 문자열로 변환하는 데만 사용할 수 있습니다!
#하나. std::to_string 함수
1. to_string 함수
#include <iostream>
#include <string>
using namespace std;
int main()
{
float num = 123.456;
string num_str = to_string(num);
cout << num_str << endl;
return;
}
세부
- 헤더에 있는 것들
정의된 메서드 “to_string”은 다양한 숫자 데이터 유형을 “문자열” 유형으로 변환합니다. - 반환되는 문자열의 유효 자릿수가 0일 수 있으므로 정확한 결과 값이 반환되지 않을 수 있습니다.
#2. std::stringstream 객체 + str 함수
1. 스트링스트림 객체
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
float num = 123.456f;
// stringstream 객체 선언
stringstream sstream;
// float 삽입
sstream << num;
// str() 호출
string num_str = sstream.str();
cout << num_str << endl;
return;
}
세부
- 먼저 Stringstream 객체를 선언합니다.
- “<<"를 통해 Stringstream 개체에 float 변수를 삽입합니다.
- 내장 함수 str()을 호출하여 문자열을 반환합니다.