C++控制输出数字的有效数字的位数

提供一种π的算法,π=1-1/3+1/5-1/7+1/9-......;要求获得π的5为有效数字后才输出π的值,求帮助怎么 控制5位有效数字?

#include<stdio.h>
#include<math.h>
void main()
{
int s;
float n,t,pi;
t=1;
pi=0;
n=1;
s=1;
while(fabs(t)>1e-6)
{
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf("pi=%6.4f\n",pi);
}
要得到无为有效数字,就是小数点后有四位,所以输出格式控制为%6,4f,6表示输出的数占6列,包括小数点,4表示小数点后有四位,f表示为实型数。这样输出结果是:3.1415.不知道你是否满意?
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-09
小数点后五位
可通过 *100000 取整 再/100000

C++控制输出数字的有效数字的位数
} 要得到无为有效数字,就是小数点后有四位,所以输出格式控制为%6,4f,6表示输出的数占6列,包括小数点,4表示小数点后有四位,f表示为实型数。这样输出结果是:3.1415.不知道你是否满意?

c++中如何精确输出的位数?
cout<<fixed<<setprecision(2)<<" -123.456保留2位有效数字输出为:"<<-123.456<<endl;cout << setprecision (4); \/\/ 精度 cout.setf(ios::fixed,ios::floatfield); \/\/ 定点格式 cout << "123.45678901保留4位有效数字输出为:"<< 123.45678901<<endl;printf(" %2.4f保留2位有...

C++对输出小数精度控制
C++ 中控制输出小数精度可通过 cout 对象搭配 setprecision() 函数实现。示例如下:通过 fixed 和 setprecision() 指定输出小数点后位数。若使用 setprecision(2),表示输出两位小数。未加 fixed 时,setprecision() 控制有效数字位数,而非小数点后位数。如代码所示:未加 fixed,setprecision(4) 控制输出...

关于C++控制输出实数小数点的问题
cout << setprecision(4) << value << endl; 输出4位有效数字,如12.34 cout <<fixed<< setprecision(4) << value << endl;输出4位小数,如12.3456

C++如何控制输出结果的有效数字,还有一个小问题..
1.double pai = 3.14159265;cout.precision(4);cout<<pai<<endl;2.(5<<2)这个表达式的意思是把5左移两位,左移一位相当于乘以2,所以(5<<2)的值应为20而不是10.

C++编程中setprecision(0)什么意思?
默认情况下,C++的输出流会显示6位有效数字。当你将`setprecision(n)`与`setiosflags(ios::fixed)`一起使用时,它会限制小数点右边的数字个数,将数值以定点方式表示。如果与`setiosflags(ios::scientific)`配合,`setprecision(n)`则控制指数表示法中的小数位数,以指数方式展示实数。下面是一个简单的...

有关C++小数输出?
这是因为默认的输出是保留6位有效数字。如果你要以n位小数输出,可以这样:1 include<iomanip> 2 int n=8;double d=1.12345678912;\/\/设置成以n位小数输出 cout<<fixed<<setprecision(n);cout<<d<<endl;如:

c++中如何控制输出小数点后多少位,我这个只能输出有效数字多少位的...
测试代码如下,有问题hi我,注释比较清楚了,需要showpoint确保总是显示小数 include include using namespace std;int main()\/\/ 控制小数点右边位数 { double n = 2;cout<< showpoint \/\/总是显示小数点 << setprecision(3)\/\/讲浮点精度设置为n(要#include )< 评论 0 0 加载更多 ...

C++--输出:保留两位小数
首先,std::setprecision函数用于控制输出流显示浮点数的有效数字个数,注意,这里的有效数字指的是在小数点后的数字,而不是包括整数部分的总数字个数。如果与std::fixed一起使用,就可以控制小数点后面保留的具体位数。在本例中,由于原始值a=0.20001,直接使用std::setprecision(2)并结合std::fixed后...

C++ 编程 有效数字的位数
int b,i =0,j = 0;char a[100] = {0};printf("请输入一个实数:");gets(a);for(b = 0 ; b < strlen(a); b++){ if (a[b] == '.'){ i += strlen(a) - b - 1;break;} if (a[b] == '0' && b == j){ j++;continue;} i++;} printf("您输入的数%s,...

相似回答