1、setprecision
#include<iostream>
#include<stdio.h>
#include<iomanip>
using namespace std;
int main()
{
double n = 1.23456 ;
// 输出两位数字,包括小数点前的数字
cout << setprecision(2) << n << endl;
// n有6位,8>6 多余的位数不会用0补齐
cout << setprecision(8) << n << endl;
//注意:一旦在下一条语句中加入了格式控制fixed,那么在后面的cout语句中
//除非显示的改变格式控制,否则就默认按照前面规定的fixed格式输出
cout << fixed << setprecision(2) << n << endl;
//以下两条语句的输出格式是一样的
cout << setprecision(7) << n << endl;
cout << fixed << setprecision(7) << n << endl;
//显示修改了输出控制方式,以下两条语句的输出格式也是一样的
cout << scientific << setprecision(2) << n << endl;
cout << setprecision(2) << n << endl;
return 0;
}
2、printf 的格式控制默认是四舍五入
#include <cstdio>
using namespace std;
int main()
{
double n = 1.234567;
printf("%0.3f\n",t);
printf("%0.4f\n",t);
printf("%0.5f\n",t);
printf("%0.6f\n",t);
return 0;
}
3、保留X位小数:
printf ( "%.*lf" , X , a) ; // 输出a , 保留X 位小数