C++--输出:保留两位小数

时间:2023-01-12 15:03:36


输出:保留两位小数

问题
已知a=0.20001,输出:0.20

思路
setprecision:功能是控制输出流显示浮点数的有效数字个数,注意是有效数字。如果和fixed合用的话,可以控制小数点后面有几位。
这下这知道为什么输出是0.2了吧,必须是输出有效数字,后面的0要省略。如果a=0.21001,直接用就输出是0.21。
为了得到0.20,在这里就要用到fixed了。

代码

#include <iostream>

#include <iomanip>

using namespace std;



int main()

{

float a = 0.20001;

cout.setf(ios::fixed);

cout << "a=" <<fixed<< setprecision(2) << a <<endl; //输出结果为a=0.20

cout.unsetf(ios::fixed);

cout << "a=" << setprecision(2) << a <<endl; //输出结果为a=0.2

return 0;
}