使用 cout 打印正确的小数位数

新手上路,请多包涵

我有一个 float 值的列表,我想用 cout 打印它们,带 2 个小数位。

例如:

 10.900  should be printed as 10.90
1.000 should be printed as 1.00
122.345 should be printed as 122.34

我怎样才能做到这一点?

setprecision 似乎对此没有帮助。)

原文由 thameera 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 555
2 个回答

使用 <iomanip> ,您可以使用 std::fixedstd::setprecision

这是一个例子

#include <iostream>
#include <iomanip>

int main()
{
    double d = 122.345;

    std::cout << std::fixed;
    std::cout << std::setprecision(2);
    std::cout << d;
}

你会得到输出

122.34

原文由 beduin 发布,翻译遵循 CC BY-SA 3.0 许可协议

最简单的方法:

 #include <iostream>
using namespace std;

int main() {
double d = 122.345;

printf(".2%lf",d);
return 0;
}

原文由 Raihan Hossain 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏