如何在c++中打印一个固定精度的双精度数?

How can I print a double in C++ up to a fixed precision?

本文关键字:一个 精度 双精度 c++ 打印      更新时间:2023-10-16

如果我在double变量中存储了一个值,如

double d = pow(...)

和这个函数,假设,计算结果是一个整数,如果我使用cout打印它,它只打印不带末尾零的整数。

如何打印末尾的零?

#include <iostream>     // std::cout, std::fixed
#include <iomanip>      // std::setprecision
  int main () {
  double f =3.14159;
  std::cout << std::setprecision(5) << f << 'n';
  std::cout << std::setprecision(9) << f << 'n';
  std::cout << std::fixed;
  std::cout << std::setprecision(5) << f << 'n';
  std::cout << std::setprecision(9) << f << 'n';
  return 0;
}
输出:

3.1416
3.14159
3.14159
3.141590000

setprecision(int n)设置指定的精度

您可能正在寻找std::setprecision。像这样:

std::cout << std::setprecision (10) << d << std::endl;
相关文章: