如教程http://www.cplusplus.com/reference/iomanip/setprecision/中所示
// setprecision example
#include <iostream> // std::cout, std::fixed
#include <iomanip> // std::setprecision
int main () {
double f =3.14159;
std::cout << std::setprecision(5) << f << '\n'; // prints 3.1416 and not 3.141459 why
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;
}
Run Code Online (Sandbox Code Playgroud)
该生产线的std ::法院<<的std :: setprecision(5)不打印5个十进制数字,但之后的std ::固定设置,如预期的那样setprecision作品。这是为什么 ?。
没有std :: fixed的std :: …
我正在自学 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;
}
Run Code Online (Sandbox Code Playgroud)