"Double" 即使在 setprecision 之后也不会打印超过 6 个有效数字
"Double" is not printing more than 6 significant digits even after setprecision
我正在自学 C++,出于某种原因,即使在 std::setprecision 之后,“double”也不会打印超过 6 位有效数字。我需要做其他事情吗?如果有帮助,请使用最新版本的代码块。这是所有代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
std::setprecision(9);
double A = 654321.987;
cout << A << endl;
return 0;
}
您需要将 std::setprecision(9)
的结果提供给 std::cout
。否则它无法知道它适用于哪个输出流(因此它不会适用于任何东西)。
std::cout << std::setprecision(9) << A << std::endl;
或者,如果您愿意,可以单独进行:
std::cout << std::setprecision(9);
std::cout << A << std::endl;
我正在自学 C++,出于某种原因,即使在 std::setprecision 之后,“double”也不会打印超过 6 位有效数字。我需要做其他事情吗?如果有帮助,请使用最新版本的代码块。这是所有代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
std::setprecision(9);
double A = 654321.987;
cout << A << endl;
return 0;
}
您需要将 std::setprecision(9)
的结果提供给 std::cout
。否则它无法知道它适用于哪个输出流(因此它不会适用于任何东西)。
std::cout << std::setprecision(9) << A << std::endl;
或者,如果您愿意,可以单独进行:
std::cout << std::setprecision(9);
std::cout << A << std::endl;