我需要格式化一个双。我用下面的代码

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

有没有一种方法可以避免使用缓冲区wc?
我正在考虑分配一个wstring与缓冲区的大小,并在那里写,然后将字符串的大小调整为最终的0。有没有更简单的方法?

最佳答案

像这样吗

#include <iostream>
#include <sstream>

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

注意:它不需要C++ 11

关于c++ - 格式化为wstring的更简单方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20912488/

10-13 06:28