在python中我们可以用
a=0.213124print("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。
.10.17
修改,cout的精确输出可以更简单
#include <bits/stdc++.h>using namespace std;int main() {double a = 0.2000;cout << fixed << setprecision(4) << a << endl;}