格式化为wstring更简单的方法

时间:2014-01-03 20:51:54

标签: c++ wstring

我需要格式化双精度数。我使用下面的代码

wstring to_wstring1(double f){
  wchar_t wc[0x40];swprintf(wc,countof(wc),L"%E",f);return wstring(wc);
}

有没有办法避免使用缓冲区wc? 我正在考虑分配一个带缓冲区大小的wstring并在那里写入并在将字符串调整到最后的0之后。有更简单的方法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用std::to_wstring(double)

注意:它确实需要C ++ 11

答案 1 :(得分:1)

这样的东西?

#include <iostream>
#include <sstream>

int main() {
    std::wostringstream w;
    w << 1.0;;
    std::wcout << w.str() << std::endl;
}

注意:它不需要C ++ 11