跳到主要内容

控制小数位数

printf 会比 cout 简单很多

printf 方法

printf("%.2f\n",3.777);  //输出3.78  保留2位小数 
printf("%.3f\n",3.4444); //输出3.444 保留3位小数
动态保留小数

有一两道变态的题目会让你根据输入的是几来保留几位小数

int a=3;
double b=3.777777;
printf("%.*f\n",a,b); //a对应* b对应%f

cout

使用 <iomanip> 库中的 setprecision() 控制输出长度

#include <iostream>
#include <iomanip> //需要此头文件
using namespace std;
int main(){
cout<<fixed<<setprecision(2)<<3.7777<<endl;
cout<<3.5555; //此处也是保留2位小数
return 0;
}
动态保留小数

cout就比较简单了

#include <iostream>
#include <iomanip> //需要此头文件
using namespace std;
int main(){
int a=3;
cout<<fixed<<setprecision(a)<<3.7777;
return 0;
}