在C++中,要实现这个功能,就要用到std命名空间中常用于流的控制符,这里通常要用到setprecision()函数,可以通过这个函数控制小数点后面位数。
还要注意的是,使用它需要加入头文件<iomanip>,这个头文件也好记。io是指in,out,输入输出流,manip是操作的缩写,所以iomanip里面全是输入输出流的操作。
代码示例如下:
#include <iostream>
#include <fstream>
#include <iomanip>
//用setprecision(n)设置精度,其中n表示精确到小数点后n位
using namespace std;
void main()
{
double aa = 10;
cout<<" 12345.0普通输出为:"<<12345.0<<endl;//输出12345
cout<<fixed<<setprecision(8)<<" 10保留8位有效数字输出为:"<<aa<<endl;
//fixed:表示普通方式输出,不采用科学计数法。fixed也可以放在setprecision(n)后面
cout<<" 12345.0保留8位有效数字输出为:"<<12345.0<<endl;
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位有效数字输出为:%2.2f\n",11.1191,11.1191);
system("pause");
}
编译 & 执行 C++ 程序方法:
1、打开vs2010,选择"visual c++开发设置",然后点击"启动Visual Studio"。
2、"Visual Studio"选择默认环境设置。
3、进入"Visual Studio"后点击新建项目。
4、在弹出窗口选择 Visual C++标签下的空项目,输入名称以及保存位置。
5、在左侧的"解决方案资源管理器"中,选择"源文件"右击,然后选择"添加"->"新建项"。
6、在弹出窗口中,选择"C++文件(.cpp)",输入文件名称,单击"添加"。
7、现在输入具体的代码,例如输入简单的Hello World程序。
8、依次单击"调试"->"开始执行(不调试)"或按Ctrl+F5开始运行。
c++中如何精确输出的位数?
在C++中,要实现这个功能,就要用到std命名空间中常用于流的控制符,这里通常要用到setprecision()函数,可以通过这个函数控制小数点后面位数。还要注意的是,使用它需要加入头文件<iomanip>,这个头文件也好记。io是指in,out,输入输出流,manip是操作的缩写,所以iomanip里面全是输入输出流的操作。代码示...
c++怎样设定输出精度
{ cout<<setprecision(3)<<10\/3.0<<endl;\/\/setprecision(3)用于设定后面的输出的精度 return 0;}
C++对输出小数精度控制
C++ 中控制输出小数精度可通过 cout 对象搭配 setprecision() 函数实现。示例如下:通过 fixed 和 setprecision() 指定输出小数点后位数。若使用 setprecision(2),表示输出两位小数。未加 fixed 时,setprecision() 控制有效数字位数,而非小数点后位数。如代码所示:未加 fixed,setprecision(4) 控制输出...
在C++中怎样使输出值保留三位小数
1楼正解。比如printf("%7.3f", x),小数点前面的10代表包含小数点在内一共10个数,小数点后面的3代表三位小数。printf("%7.3f", x) 输出后123.456 当然float有效位数是6-7位,超过后就不能准确表示了,如果需要准确数据就需要用double类型 ...
C++控制输出数字的有效数字的位数
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表示小数点...
C++里 要使输出的变量都保留小数点后1位 该怎么限制
在输出前面加上 cout << setiosflags(ios::fixed) << setprecision(1) 就行了,setprecision(1) 就是设置对应的精度,还要加上对应的头文件 #include。include include using namespace std;include int main(){ double d = 12.5638;cout << setiosflags(ios::fixed)<< setprecision(1)...
C++中怎样输出一个数的位数
include <iostream>#include <sstream>#include <cmath>using namespace std;int main(){ int n=123456; int len=1; string s; stringstream ss; while(n\/10) \/\/循环比10方法 { len++; n\/=10; } cout<<len<<endl; \/\/--- n=123456; len=log10(n)+1; \/\/求对数方法 cout...
C++中如何对输出几位小数进行控制
功能:控制输出流显示浮点数的数字个数,可以控制小数点右面的位数头文件: iomanip 例程:include <iostream>#include <iomanip>using namespace std;int main( void ){ const double value = 12.3456789; cout << value << endl; \/\/ 默认以6精度,所以输出为 12.3457 cout << setprec...
c++ 下的longdouble精确输出
一般来说double型的数据也是以%f来输出,通常会输出到小数点后面第6位。如果要显示小数点后的第7位数据,需要加上额外数字的限定符,例如显示一个double型的数据到小数点后10位,就可以使用如下格式输出:printf("%.10f",(double)5\/(double)7);,如果是long double型的数据使用"%.10Lf"来显示十...
C++如何纪要强制输出小数点并且控制有效位数
我想到的办法是把待输出的数乘以10^5,然后取整,然后再除以10^5 double a=3.1415926;int b=a\/100000;cout<