cout 中“fixed”的反义词是什么?
使用 cout
时,
标头中定义的默认格式化程序是什么?换句话说,一旦我使用 cout << 将格式化程序设置为
,如何改回来?或者,我要把它改回什么??fixed
,固定<< setPrecision(2)
When using cout
, what is the default formatter defined in the <iomanip>
header? In other words, once I've set my formatter to fixed
using cout << fixed << setPrecision(2)
, how do I change it back? Or, what am I changing it back to?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
答案是 C++11 中的
std::defaultfloat
。要在 C++03 中实现此目的,您可以执行cout.unsetf(std::ios_base::floatfield);
请参阅 真的,“固定”I/O 操纵器的对立面是什么?
The answer is
std::defaultfloat
in C++11. To achieve this in C++03 you can docout.unsetf(std::ios_base::floatfield);
See Really, what's the opposite of "fixed" I/O manipulator?
std::fixed
的反义词是std::scientific
。(您可以在这个很棒的答案中找到一个很好的操纵器列表。)
The opposite of
std::fixed
isstd::scientific
.(You find a nice list of manipulators in this great answer.)
您可以使用
resetiosflags()
取消设置任何旗帜。You can use
resetiosflags()
to unset any flags.std::fixed
的反义词是std::scientific
。这可能对你有用。但是,如果您想恢复更多标志,或者需要之前状态,您可以使用更好的解决方案而不是默认值:
std::resetiosflags操纵器可让您将特定标志重置为其默认值;
两个
ios::flags
函数可让您保存和恢复格式标志的先前值。The opposite of
std::fixed
isstd::scientific
. That might do for you.However, if you want to restore more flags, or if you need the previous state, instead of the default you can use better solutions:
the
std::resetiosflags
manipulator lets you reset specific flags to their defaults;the two
ios::flags
functions let you save and restore the previous values of the format flags.