basic_string_to_wstring
basic_string_to_wstring (숫자 값을 와이드 문자열로 변환하기)
이 페이지는 C++ 표준 라이브러리의 std::to_wstring 함수에 대해 설명해요. 이 함수는 정수나 부동소수점 숫자 값을 std::wstring으로 변환해 줘요. C++11부터 사용할 수 있고, 내부적으로 std::swprintf를 사용한 것과 동일하게 동작해요.
출처: cppreference
본문
개요
<string> 헤더에 정의되어 있어요.
<string> 헤더에 정의됨 |
||
|---|---|---|
std::wstring to_wstring(int value); |
(1) | (since C++11) |
std::wstring to_wstring(long value); |
(2) | (since C++11) |
std::wstring to_wstring(long long value); |
(3) | (since C++11) |
std::wstring to_wstring(unsigned value); |
(4) | (since C++11) |
std::wstring to_wstring(unsigned long value); |
(5) | (since C++11) |
std::wstring to_wstring(unsigned long long value); |
(6) | (since C++11) |
std::wstring to_wstring(float value); |
(7) | (since C++11) |
std::wstring to_wstring(double value); |
(8) | (since C++11) |
std::wstring to_wstring(long double value); |
(9) | (since C++11) |
숫자 값을 std::wstring으로 변환해요.
변환 규칙
buf는 변환 함수 내부에서 사용하는 버퍼이며, 변환 결과를 담기에 충분히 큰 크기예요.
C++26 이전:
- 부호 있는 십진 정수를
std::swprintf(buf, sz, L"%d", value)로 변환한 것과 같아요. - 부호 있는 십진 정수를
std::swprintf(buf, sz, L"%ld", value)로 변환한 것과 같아요. - 부호 있는 십진 정수를
std::swprintf(buf, sz, L"%lld", value)로 변환한 것과 같아요. - 부호 없는 십진 정수를
std::swprintf(buf, sz, L"%u", value)로 변환한 것과 같아요. - 부호 없는 십진 정수를
std::swprintf(buf, sz, L"%lu", value)로 변환한 것과 같아요. - 부호 없는 십진 정수를
std::swprintf(buf, sz, L"%llu", value)로 변환한 것과 같아요. 7, 8. 부동소수점 값을std::swprintf(buf, sz, L"%f", value)로 변환한 것과 같아요. - 부동소수점 값을
std::swprintf(buf, sz, L"%Lf", value)로 변환한 것과 같아요.
C++26부터:
1-9. 숫자 값을 std::format(L"{}", value)를 사용한 것과 같이 와이드 문자열로 변환해요.
매개변수
| 매개변수 | 설명 |
|---|---|
value |
변환할 숫자 값이에요. |
반환값
변환된 값을 담은 와이드 문자열을 반환해요.
예외
std::wstring 생성자에서 std::bad_alloc 예외가 발생할 수 있어요.
예제
#include <iostream>
#include <string>
int main()
{
for (const double f : {23.43, 1e-9, 1e40, 1e-40, 123456789.0})
std::wcout << "std::wcout: " << f << '\n'
<< "to_wstring: " << std::to_wstring(f) << "\n\n";
}
출력:
std::wcout: 23.43
to_wstring: 23.430000
std::wcout: 1e-09
to_wstring: 0.000000
std::wcout: 1e+40
to_wstring: 10000000000000000303786028427003666890752.000000
std::wcout: 1e-40
to_wstring: 0.000000
std::wcout: 1.23457e+08
to_wstring: 123456789.000000
같이 보기
to_string (C++11) |
정수 또는 부동소수점 값을 string으로 변환해요 (함수) |
|---|