今天试用了C++11 STL的一些新功能,遇到了 std::to_string
。
可爱,可爱的一组功能。只为一次双字符串转换创建一个字符串流对象对我来说似乎有点过头了,所以我很高兴我们现在可以做这样的事情:
std::cout << std::to_string(0.33) << std::endl;
结果?
0.330000
我对此并不完全满意。有没有办法告诉 std::to_string
省略尾随零?我搜索了互联网,但据我所知,该函数只接受一个参数(要转换的值)。回到使用字符串流的“过去”,您可以设置流的宽度,但我宁愿不转换回来。
有人遇到过这个问题/有解决方案吗?一些 StackOverflow 搜索一无所获。
(C++11 STL 参考: http ://en.cppreference.com/w/cpp/string/basic_string/to_string)
原文由 Stijn Frishert 发布,翻译遵循 CC BY-SA 4.0 许可协议
C++11 标准明确表示(
21.5/7
):对于按此顺序声明的函数:
因此,您无法控制结果字符串的格式。