我开始自学 C++,直到我的秋季课开始。我想知道您是否可以帮助我想出一个更好的方法来询问用户他们想要的数字 pi 的位数,然后显示它。我的问题是使用 pi = atan(1)*4 并不精确到小数点后 10 位左右。是否有一个更好的内置数字,它的 pi 至少为小数点后 20 位?这是我到目前为止所拥有的,谢谢!
#include <iostream>
#include <string>
#include <iomanip>
#include <ios>
#include <sstream>
using namespace std;
using std::setprecision;
using std::streamsize;
int main()
{
double pi = atan(1)*4;
int input = 0;
while(true)
{
cout << "Please enter how many digits of PI you would like to see (Max 20): ";
cin >> input;
if(input > 0 && input <= 20)
{
break;
}
else
{
cout << "That's not a valid number! Try again." << endl;
}
}
streamsize prec = cout.precision();
cout << setprecision(input);
cout << "Here you go: " << pi <<endl;
system("pause");
}