【问题标题】:formatting to wstring simpler way of doing it格式化为 wstring 更简单的方法
【发布时间】:2014-01-03 20:51:53
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ wstring


    【解决方案1】:

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

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

    【讨论】:

    • 我不介意使用 C++11。我已经知道 to_wstring 并且为此我将函数命名为 to_wstring1。但它不接受格式参数(我的意思是我想使用 %E 对其进行格式化)。
    【解决方案2】:

    这样的?

    #include <iostream>
    #include <sstream>
    
    int main() {
        std::wostringstream w;
        w << 1.0;;
        std::wcout << w.str() << std::endl;
    }
    

    注意:它不需要 C++11

    【讨论】:

    • : - ) 需要 moaar 字符
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多