在python中我们可以用
a=0.213124
print("a={:.2f}".format(a))
但在C++中就比较复杂了
我们有两种方式来输出一种是头文件为iostream的cout另一种是cstdio中的printf
#include <iostream>
#include <csdtio>
#include <iomanip>
using namespace std;
int main(){
float a;
a=0.12412;
printf("%.2f",a)
cout.setf(ios::fixed);//防止出现若小数点后仅有0但不显示的情况
cout<<setprecision(2)<<a<<endl;
}
其实printf跟python中的差不多,只是python中用了{}占位符,而printf是直接%.2f。
cout就比较复杂了,因为有时候可能会出现a=2.001的情况,如果不用cout.setf(ios::fixed)的话就会仅打印出2(0被默认舍去了)。而且用setprecision 的话一定要追加一个头文件iomanip。
2021.10.17
修改,cout的精确输出可以更简单
#include <bits/stdc++.h>
using namespace std;
int main() {
double a = 0.2000;
cout << fixed << setprecision(4) << a << endl;
}