Namespaces
Variants

std::to_wstring

来自 zh.cppreference.net
 
 
 
std::basic_string
 
在标头 <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。

令 buf 为转换函数内部的缓冲区,该缓冲区需足够大以容纳转换结果。

1) 将有符号十进制整数转换为宽字符串,如同通过 std::swprintf(buf, sz, L"%d", value) 进行。
2) 将有符号十进制整数转换为宽字符串,如同通过 std::swprintf(buf, sz, L"%ld", value) 进行。
3) 将有符号十进制整数转换为宽字符串,如同通过 std::swprintf(buf, sz, L"%lld", value) 进行。
4) 将无符号十进制整数转换为宽字符串,如同通过 std::swprintf(buf, sz, L"%u", value) 进行。
5) 将无符号十进制整数转换为宽字符串,如同通过 std::swprintf(buf, sz, L"%lu", value) 进行。
6) 将无符号十进制整数转换为宽字符串,如同通过 std::swprintf(buf, sz, L"%llu", value) 进行。
7,8) 将浮点数值转换为宽字符串,如同通过 std::swprintf(buf, sz, L"%f", value) 进行。
9) 将浮点数值转换为宽字符串,如同通过 std::swprintf(buf, sz, L"%Lf", value) 进行。
(C++26 前)
1-9) 将数值转换为宽字符串,如同通过 std::format(L"{}", value) 进行。
(C++26 起)

参数

value - 要转换的数值

返回值

保存转换后值的宽字符串。

异常

可能从 std::bad_alloc 的 std::wstring 构造函数抛出。

示例

#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
(函数)