C+±011-输出控制-2020-3-3
如pecision 、width 、fill
//输出控制
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double a=234.123456;
cout<<a<<endl;
cout.precision(7);
cout<<a<<endl;
cout.fill('*');
cout.width(10);
cout.precision(5);
cout<<a<<endl;
return 0;
}
234.123
234.1235
****234.12
--------------------------------
Process exited with return value 0
Press any key to continue . . .
输出类型 | 格式字符意义 |
---|---|
d | 以十进制形式输出带符号整数(正数不输出符号) |
o | 以八进制形式输出无符号整数(不输出前缀o) |
x | 以十六进制形式输出无符号整数(不输出前缀ox) |
u | 以十进制形式输出无符号整数 |
c | 输出单个字符 |
s | 输出字符串 |
f | 以小数形式输出单、双精度实数 |
e | 以指数形式输出单、双精度实数 |
g | 以%f,%e中较短的输出宽度输出单、双精度实数 |
(1)d格式符,以十进制形式输出整数。有以下几种用法:
%d,按整数数据的实际长度输出。
%*
md,m为指定的输出字段的宽度。如果数据的位数小于m,用*
所指定的字符占位,如果未指定用空格占位,若大于m,则按实际位数输出。
(2)o格式符,以八进制形式输出整数,有以下几种用法:
%o,按整数数据的实际长度输出。
%*
mo,m为指定输出字段的宽度。如果数据的位数小于m,用所指定的字符占位,如果*
未指定用空格占位,若大于m,则按实际位数输出。
%lo,输出长整型数据。
(3)x格式符,以十六进制形式输出整数,有以下几种用法:
%o,按整数数据的实际长度输出。
%*
mx,m为指定输出字段的宽度。如果数据的位数小于m,用*所指定的字符占位,如果*
未指定用空格占位,若大于m,则按实际位数输出。
%lx,输出长整型数据。
(4)s格式符,用来输出一个字符串。有以下几种用法
%s,将字符串按照实际长度输出。
%*
ms,输出的字符串占m列,如字符串本身长度大于m,则突破m的限制,将字符串全部输出,如果*
未指定用空格占位,若字符串长度小于m,则左补空格。
%-ms,如果字符串长度小于m,则在m列范围内,字符串向左靠,右补空格。
%m.ns,输出占m列,但只取字符串中左端n个字符,这n个字符输出在m列的右侧,左补空格。
%-m.ns,输出长整型数据。输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的左侧,右补空格。
(5)f格式符,以小数形式输出实际数据。有以下几种用法:
%f,不指定字段宽度,整数部分全部输出,小数部分输出6位。
%m.nf,输出的数据占m列,其中有n位小数。如果数值长度小于m,则左端补空格。
%-m.nf,输出的数据占m列,其中有n位小数,如果数值长度小于m,则右端补空格。
(6)e格式符,以指数形式输出实际数据。有以下几种用法:
%e,不指定输出数据所占的宽度和小数位数
%m.ne,输出的数据 占m位,其中有n位小数。如果数值长度小于m,则左端补空格。
%-m.ne,输出的数据占m位,其中有n位小数。如果数值长度小于m,则右端补空格。