舍入并显示确切的值

时间:2016-03-15 12:12:08

标签: c++ rounding cout

伙计我有一个问题:

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()中自动放置一个参数,以便它可以显示确切的结果,而不必先自己计算。

0 个答案:

没有答案