伙计我有一个问题:
39268112/50000000*4
完全 3.14144896
但是当我用c ++编写代码时:
#include<iostream.h>
using namespace std;
int main()
{
int a = 39268112;
int b = 50000000;
cout << (double)a / (double)b * 4;
}
但是,我得到 3.14145 。
这不是确切的值。
所以我的问题是:
我怎样才能始终显示
double
分区的确切值?
编辑:我知道setprecision选项,这里的问题是,我必须知道结果的确切值,才能知道结果会有多少小数。由于我编写了一个基于投掷的近似PI的程序,因此两个整数a和b可以具有比39268112和5000000更大的值。
如果我愿意的话
cout << setprecision(some number) << (double)a / (double)b * 4;
在我甚至可以在setprecision()中输入参数之前,我需要首先知道确切的结果
我编辑的问题是,如果有办法在setprecision()中自动放置一个参数,以便它可以显示确切的结果,而不必先自己计算。