Rik*_*ika 4 c c++ format-string
在C中我们有一个声明如下:
printf("%6.3f ",floatNumber);
Run Code Online (Sandbox Code Playgroud)
这限制了打印时的位数.
我怎样才能实现类似的行为C++?我知道,setprecision但这并没有帮助我做同样的事情.
要获得与%6.3f仅使用标准iostream操纵器指定的格式类似的格式,您可以执行以下操作:
std::cout << std::fixed << std::setw(6) << std::setprecision(3) << f;
Run Code Online (Sandbox Code Playgroud)
具体std::fixed表示与f格式字符串中相同的基本格式,例如,'precision'对格式字符串和ostream都表示相同的含义.std::setprecision(3)然后实际设置精度并std::setw(6)设置字段宽度.如果没有设置,std::fixed您将获得类似于格式字符串指定的格式"%6.3g".
请注意,除了setw这些操纵器是粘性的.也就是说,它们在输出一个变量后仍然有效.
| 归档时间: |
|
| 查看次数: |
571 次 |
| 最近记录: |