使用cout打印保留4位小数的双精度浮点数

13

可能重复:
将double转换为固定小数点的C++

假设我有一个double a = 0,我想将其打印为0.0000

我尝试了以下代码:

cout.precision(4) ; 
cout<<a<<endl ; 

但它输出了0


重复的回答并没有直接回答问题,被采纳的回答才是。 - Passer By
2个回答

29

只需尝试:

#include <iomanip>
...
cout << fixed << setprecision(4);
cout << a << endl;

查看这里


1
#include <iomanip>
#include <iostream.h>


int main()
{
double a = 0.00;
// print a double, 2 places of precision 
cout << setprecision(4) << a << endl;
}

1
除了缺少 std:: 和不存在的 iostream.h 之外,如果没有 std::fixed,这个程序根本无法工作。 - Avio
@Avio 它在使用Visual Studio时运行良好。 - crh225
@crh225 这不应该起作用,也不符合语言一致性。 - ABCD

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接