打印双面打印时如何显示更多数字?

时间:2017-02-18 17:37:43

标签: c++

计算数字的平方根

#include<iostream>
#include<math.h>

using namespace std;
int main()
{ 
double pmid=0,n,st=0,en,mid=0;
double dif=3;
cin>> n;               // number whose square root is to be found
en=n;                 // end number    
while(dif>.00000001){
mid =(st+en)/2;       //mid number , st = start number 
if (mid*mid>n){       
    en=mid;          // re positioning end number 
}
else {
    st =mid;          // re positioning end number 
}

dif=fabs(pmid-mid);   //difference between previous and present mid values 
pmid=mid;
cout  <<mid<<" "<<dif<< endl;
}
}

output image

我的结果中的问题和计算器中的结果不同我计算出的数字10的输出为3.16228 并且谷歌计算器将其计算为3.16227766017 我认为我的书面代码会对值进行四舍五入并显示出来。 如何获得计算器显示的值。

1 个答案:

答案 0 :(得分:2)

我不知道是否有其他解决方案,但我知道这会有效:

cout << setprecision(10);

在打印出双张之前运行它。

您可以将数字设置为您想要的数字,但cout << 1.22222222222222222222;仍然只会打印1.2222222222222223,因为您已经超过了双精度限制。