|
dec   设置整数为十进制
hex  设置整数为十六进制
oct  设置整数为八进制
setbase(n)  设置整数为n进制(n=8,10,16)
setfill(n)  设置字符填充,c可以是字符常量或字符变量
setprecision(n)  设置浮点数的有效数字为n位
setw(n)  设置字段宽度为n位
setiosflags(ios::fixed)  设置浮点数以固定的小数位数显示
setiosflags(ios::scientific)    设置浮点数以科学计数法表示
setiosflags(ios::left)  输出左对齐
setiosflags(ios::right)  输出右对齐
setiosflags(ios::skipws)  忽略前导空格
setiosflags(ios::uppercase)  在以科学计数法输出E与十六进制输出X以大写输出,否则小写。
setiosflags(ios::showpos)  输出正数时显示"+"号
setiosflags(ios::showpoint)  强制显示小数点
resetiosflags()   终止已经设置的输出格式状态,在括号中应指定内容
C++ 语言下
头文件:#include <iomanip>
说明:是I/O流控制头文件,就像C里面的格式化输出一样
double a = 123.456789012345;
cout << a << endl;//输出123.457 有效位数6位
cout << a << endl;//输出123.457
//setprecision设置浮点数的有效数字为n位
cout << setprecision(15) <<a << endl;
输出:123.456789012345
//setiosflags(ios::fixed)设置浮点数以固定的小数位数显示
cout << setiosflags(ios::fixed) << setprecision(13) << a << endl;
//输出123.4567890123450
//setiosflags(ios::scientific)设置浮点数以科学计数法表示
cout << setiosflags(ios::scientific) << a << endl;
//输出123.4568e+02
cout << setiosflags(ios::scientific) << setprecision(15) << a <<endl;
//输出123.4567890123450e+02
//整数表示
int b = 58;
cout << b << endl; //输出58
//hex 设置整数为十六进制
cout << hex << b << endl; //输出3a
//dec 设置整数为十进制
cout << dec<<b<<endl; //输出58
//oct 设置整数为八进制
cout << oct << b << endl; //输出72
//setbase(n) 设置整数为n进制(n=8,10,16)
cout << setbase(16) << b << endl;
// setiosflags(ios::left) 输出左对齐
cout << setiosflags(ios::left) << b << endl;
//setiosflags(ios::right)输出右对齐
cout << setiosflags(ios::right) << b << endl;
输出左右对齐暂时没看出效果 哪位大佬看到解释下
在此需要说一下,有效位数默认是6位,即setprecision(6),即小数点前面和小数点后面加起来的位数为6个有效数字(注意会四舍五入)。
另外,科学计数法输出E与十六进制输出默认是以小写的,要换成大写需添加uppercase
而setw(n)设置宽度,若是实际宽度大于被设置的,则setw函数此时失效。 |
上一篇: c++(指针数组(入门篇))下一篇: c++结构体(入门篇)
|