Jon*_*Mee 7 c++ floating-point printf cout modifiers
我有一些旧的C代码,我试图复制C++中的行为.它使用printf修饰符:"%06.02f".
我天真地认为这iomanip同样有能力,并做了:
cout << setfill('0') << setw(6) << setprecision(2)
Run Code Online (Sandbox Code Playgroud)
当我尝试输出测试号123.456时,printf产量:
123.46
但cout收益率:
1.2 + E02
有什么我可以做的iomanip来复制这个,还是我必须回去使用printf?
[ 实例 ]
三个 C 格式说明符映射到 C++ IOStreams 中相应的格式设置:
%f-> std::ios_base::fixed(定点表示法)通常使用out << std::fixed.%e-> std::ios_base::scientific(科学记数法)通常使用out << std::scientific.%g-> 默认设置,通常使用out.setf(std::fmtflags(), std::ios_base::floatfield)C++11 及更高版本或使用 C++11 及更高版本进行设置out << std::defaultfloat。默认格式试图产生其他格式中的“最佳”格式,假设使用固定数量的数字。精度、宽度和填充字符与您已经说明的方式相匹配。
| 归档时间: |
|
| 查看次数: |
529 次 |
| 最近记录: |