【发布时间】: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。有没有更简单的方法?
【问题讨论】:
我需要格式化双精度。我使用下面的代码
wstring to_wstring1(double f){
wchar_t wc[0x40];swprintf(wc,countof(wc),L"%E",f);return wstring(wc);
}
有没有办法避免使用缓冲区 wc? 我正在考虑分配一个具有缓冲区大小的 wstring 并在那里写入,然后将字符串调整为最终的 0。有没有更简单的方法?
【问题讨论】:
您可以使用std::to_wstring(double)。
注意:它确实需要 C++11
【讨论】:
这样的?
#include <iostream>
#include <sstream>
int main() {
std::wostringstream w;
w << 1.0;;
std::wcout << w.str() << std::endl;
}
注意:它不需要 C++11
【讨论】: