在 cpp 中打印小数精度达到所需的数字

Printing decimal precision upto desiired number in cpp

我有一个应用程序,我想将计算出的素数的精度打印到所需的数字。但是在终端上省略了数字,如下所示。

我使用的代码如下

 int  main ()
{
    cout << "Enter the precision for calculation" << endl;
    long num_steps ;
    cin >> num_steps ;
    cout << "Precision = " << num_steps << endl;

    double step;
    double  x=0.0, pi, sum = 0.0;

    cout << "Enter the number of CPU core involved in calculation" << endl;
    int numberOfCpuCore = 0;
    cin >> numberOfCpuCore;

    int i;

    step = 1.0l/( double) num_steps;


        }
    pi = step * sum;
    printf("Pi value = %.10le\n", pi);
return 0;

}

我的问题是如何将精度打印为从命令行输入的所需数字。

使用iomanip。首先添加 #include <iomanip> 然后添加 std::setprecision(num_steps) 就像这个程序:

此代码是根据 Calculate Pi 中的 Geeks For Geeks 编写的。

#include <cstdio>
#include <iostream>
#include <iomanip>
using namespace std;

int  main()
{
// Initialize denominator
    double  k = 1;

// Initialize sum
    double  s = 0;

    for (auto i(0); i < 10000; i++)
    {
        if (i % 2 == 0)
        {
            s += 4 / k;
        }
        else
        {
            s -= 4 / k;
        }

// denominator is odd
        k += 2;
    }

    cout << "Pi value =" << std::setprecision(k) << s << endl;

// printf("Pi value = %.10le\n", pi);
    return 0;
}

这将是输出: