cout函数控制输出精度、位数、显示正负,对齐
#include<iostream>
#include<algorithm>
#include<cmath>
#include<vector>
#include<iomanip>
using namespace std;
int main()
{
float a = 3.1415;
//1.设置精度为3
cout.precision(3);
cout << "总精度:"<<a <<endl;
//2.设置小数点后面精度
cout.precision(1);
cout << "小数点后面精度:"<<fixed << a<< endl;
//右对齐
cout.width(10);
cout<<"右对齐:"<<right<<a<<endl;
//输出各个进制
cout<<"十六进制:"<<hex<<10 << endl;
cout<<"八进制:"<<oct<<10 << endl;
cout<<"十进制" << dec << 10 << endl;
//
//显示+号
cout<<showpos<<3.32<<endl;
//cout<<showbase<<10.1<<endl;
}
1、设置对齐方式
cout.setf(ios::right); // 设置对齐方式
cout << num << endl;
2、将数字输出宽度设置为8:
cout.setf(ios::right); // 设置对齐方式
cout.width(8); //设置输出宽度
3、将宽度多余的部分用某个字符(如:‘0’)填充:
cout.setf(ios::right); // 设置对齐方式
cout.width(8); //设置输出宽度
cout.fill('0'); //将多余的空格用0填充
4、设置精度:保留**位有效数字,如果小数点最后面有0,则自动去掉:
float num = 1.25;
cout.setf(ios::right); // 设置对齐方式
cout.width(8); //设置输出宽度
cout.fill('0'); //将多余的空格用0填充
cout.precision(2); //设置输出精度,保留有效数字
5.保留小数点后有效的位数。如:1.25 保留4位有效数字后的1.250中0的显示,要依靠cout.setf(ios::showpoint)函数(因为保留有效数字的函数不会保留没用的0有效位):
cout.setf(ios::right); // 设置对齐方式
cout.width(8); //设置输出宽度
cout.fill('0'); //将多余的空格用0填充
cout.setf(ios::showpoint); //将小数精度后面的0显示出来
cout.precision(4); //设置输出精度,保留有效数字
6、保留小数点后**位数
cout.setf(ios::right); // 设置对齐方式
cout.width(8); //设置输出宽度
cout.fill('0'); //将多余的空格用0填充
cout.flags(ios::fixed);
cout.precision(4); //设置输出精度,
cout << num << endl;