📅  最后修改于: 2023-12-03 15:13:59.221000             🧑  作者: Mango
在C++中,我们可以使用setprecision
函数来估计小数的位数。
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
double num = 3.1415926;
cout<<setprecision(1)<<num<<endl;
return 0;
}
输出结果为3.1
。
其中,setprecision
函数用来设置输出流中浮点数的精度。在上面的例子中,我们将精度设置为1
,因此输出的结果会保留一位小数。
在使用setprecision
函数时,需要注意以下几点:
这个函数只是用来输出一定精度的数字,并不会改变数字本身的精度。
由于C++中的浮点数表示是二进制的,因此在某些情况下,使用setprecision
函数估计的位数可能会略有不准确。
在输出浮点数时,也可以使用fixed
和scientific
来控制输出的格式。
在使用setprecision
函数时,需要包含头文件iomanip
。
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
double num = 3.1415926;
cout<<"default: "<<num<<endl;
cout<<"setprecision(1): "<<setprecision(1)<<num<<endl;
cout<<"setprecision(2): "<<setprecision(2)<<num<<endl;
cout<<"setprecision(3): "<<setprecision(3)<<num<<endl;
cout<<"fixed: "<<fixed<<setprecision(1)<<num<<endl;
cout<<"scientific: "<<scientific<<setprecision(4)<<num<<endl;
return 0;
}
输出结果为:
default: 3.14159
setprecision(1): 3.1
setprecision(2): 3.1
setprecision(3): 3.14
fixed: 3.1
scientific: 3.1416e+00