double d = 1/2.;
printf("%.2lf\n", d);
这会打印出 0.50
。这就是我想使用 ostream 操纵器复制的内容。然而,没有一个明显的 iomanip
操纵器让我设置所需的最小小数位数(如果我理解正确,setprecision
设置最大宽度)。是否有纯粹的 iostream
或 boost
方法来做到这一点?
最佳答案
您可以使用 iomanip
header 中的 std::fixed
和 std::setprecision
:
#include <iostream>
#include <iomanip>
int main(void) {
double d = 1.0 / 2;
std::cout << std::fixed << std::setprecision(2) << d << std::endl;
return 0;
}
这会根据需要输出 0.50
。
关于c++ - ostream 相当于 %.2f 或 %.2lf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7592207/