std::to_wstring
来自cppreference.com
<tbody>
</tbody>
| 在标头 <string> 定义
|
||
std::wstring to_wstring( int value ); |
(1) | (C++11 起) |
std::wstring to_wstring( long value ); |
(2) | (C++11 起) |
std::wstring to_wstring( long long value ); |
(3) | (C++11 起) |
std::wstring to_wstring( unsigned value ); |
(4) | (C++11 起) |
std::wstring to_wstring( unsigned long value ); |
(5) | (C++11 起) |
std::wstring to_wstring( unsigned long long value ); |
(6) | (C++11 起) |
std::wstring to_wstring( float value ); |
(7) | (C++11 起) |
std::wstring to_wstring( double value ); |
(8) | (C++11 起) |
std::wstring to_wstring( long double value ); |
(9) | (C++11 起) |
转换数值为 std::wstring。
|
令 1) 转换有符号十进制整数为宽字符串,其内容与
std::swprintf(buf, sz, L"%d", value) 对于充分大的 buf 将会生成的内容相同。2) 转换有符号十进制整数为宽字符串,其内容与
std::swprintf(buf, sz, L"%ld", value) 对于充分大的 buf 将会生成的内容相同。3) 转换有符号十进制整数为宽字符串,其内容与
std::swprintf(buf, sz, L"%lld", value) 对于充分大的 buf 将会生成的内容相同。4) 转换无符号十进制整数为宽字符串,其内容与
std::swprintf(buf, sz, L"%u", value) 对于充分大的 buf 将会生成的内容相同。5) 转换无符号十进制整数为宽字符串,其内容与
std::swprintf(buf, sz, L"%lu", value) 对于充分大的 buf 将会生成的内容相同。6) 转换无符号十进制整数为宽字符串,其内容与
std::swprintf(buf, sz, L"%llu", value) 对于充分大的 buf 将会生成的内容相同。7,8) 转换浮点数为宽字符串,其内容与
std::swprintf(buf, sz, L"%f", value) 对于充分大的 buf 将会生成的内容相同。9) 转换浮点数为宽字符串,其内容与 std::swprintf(buf, sz, L"%Lf", value) 对于充分大的 buf 将会生成的内容相同。
|
(C++26 前) |
|
1-9) 如同 std::format(L"{}", value) 转换数值为宽字符串。
|
(C++26 起) |
参数
| 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
参阅
(C++11) |
转换整数或浮点数为 string (函数) |