首先 需要有#include<iomanip>这个头文件,因为它是输出输出流的格式控制
#include<iomanip> // 用于调用setprecision(n)
1 double sum=10; 2 cout<<setiosflags(ios::fixed)<<setprecision(1)<<sum;
示例1
1 /* 2 功能:计算圆的面积 3 输入:圆的半径(实数:>=0) 4 输出:圆的面积(实数: 保留8位小数) 5 */ 6 #include <cmath> // 通用函数调用的头文件 acos(x) 7 #include <iomanip> // 用于调用setprecision(n) 8 #include <iostream> 9 using namespace std; 10 11 const double pi = 2 * acos(0); // 精确计算圆周率pi 12 13 // 定义计算圆面积的函数 14 inline double area(double r) 15 { 16 return pi * r * r; // 注意计算圆面积的表达式 17 } 18 19 int main( ) 20 { 21 22 double r; // 用于保存输入的半径 23 24 cout << "请输入圆的半径:"; 25 cin >> r; 26 27 cout << fixed << setprecision(8) // 设置输出格式,精确到小数点后8位 28 << "圆的面积为 " 29 << area(r) << endl; // 调用函数area,不用加类型double 30 31 //上面提到的fixed,表示普通方式输出,不采用科学计数法。fixed也可以放在setprecision(n)后面 32 }
结果:
示例2:
#include <iostream> #include <iomanip> using namespace std; int main() { double r = 10; cout<<"r的一般输出为:"<<r<<endl; cout<<fixed<<setprecision(8)<<"r保留8位有效数字输出为:"<<r<<endl; cout<<"12345保留8位有效数字输出为:"<<12345.0<<'\n'<<endl; //延续上条命令位数 cout << setprecision (4); cout.setf(ios::fixed,ios::floatfield); //ios_base::fixed是设置cout为定点输出格式 cout <<"123.45678901保留4位有效数字输出为:"<< 123.45678901<<'\n'<<endl; //ios_base::floatfield是设置输出时按浮点格式,小数点后有8位数字 }
结果:
标签:输出,pi,cout,10,double,c++,include,小数 From: https://www.cnblogs.com/Gaowaly/p/16991651.html