【发布时间】:2020-01-07 14:55:02
【问题描述】:
我希望能够根据条件轻松地将 floatfield 从科学更改为固定,因此我的结果将从 3.000000e+00 更改为 3.0,使用的代码可能如下所示:
some_datatype floatfield;
float number = 5.894
if (condition) {
floatfield = 'scientific';
} else floatfield = 'fixed';
cout << "hello" << floatfield << number << endl;
我知道我可以使用
float number = 5.894
if (condition) {
cout << "hello" << scientific << number << endl;
} else cout << "hello" << fixed << number << endl;
但是如果我开始使用更多的流格式标志,这并不能很好地概括。
如果some_datatype 存在,它是什么?如果没有,还有其他方法可以使用条件更改流格式标志吗?
【问题讨论】:
-
第一个(众多)问题 -
some_datatype是什么? -
这是问题的一部分——如果它存在的话,我不知道它会是什么。已编辑问题以包含此
-
some_datatype(std::ios_base::fmtflags) 将是 implementation specific。我不明白你在写cout << floatfield时会看到什么,如果可能的话,这将打印floatfield的值,而不是以任何方式调整 cout 格式...... -
这有什么不清楚的地方?来吧伙计们。
-
Here's the answer. 如果问题没有被关闭,本来会这样发布的。 :( 如果它重新打开,请联系我,我会修复它
标签: c++ cout scientific-notation iomanip