在C++中,setw(int n)
实例:
setw(int n)用来控制输出间隔:
cout<<'s'<<setw()<<'a'<<endl;
输出:
/* s 与 a 之间有7个空格,setw()只对其后面紧跟的输出产生作用,如上例中,表示 'a' 共占 8 个位置,不足的用空格填充。若输入的内容超过setw()设置的长度,则按实际长度输出 */
s a
setw()默认填充的内容为空格,可以setfill()配合使用设置其他字符填充:
cout<<setfill('*')<<setw()<<'a'<<endl;
则输出:
/*4个*和字符a共占5个位置*/
****a
总结:
所谓域宽,就是输出的内容(数值或字符等等)需要占据多少个字符的位置,如果位置有空余则会自动补足。比如我们要设置域宽为2,那么当输出一位数1的时候输出的就是“1”,即在1前面加了一个空格。空格和数字1正好一共占用了两个字符的位置。
我们在设置域宽和填充字符的时候要注意几点:
①设置域宽的时候应该填入整数,设置填充字符的时候应该填入字符。
②我们可以对一个要输出的内容同时设置域宽和填充字符,但是设置好的属性仅对下一个输出的内容有效,之后的输出要再次设置。即 cout <<setw(2) <<a <<b;语句中域宽设置仅对a有效,对b无效。
③setw和setfill 被称为输出控制符,使用时需要在程序开头写上#include <iomanip>(#include "iomanip.h"),否则无法使用。
iomanip.h是I/O流控制头文件,就像C里面的格式化输出一样. 以下是一些常用的函数:
| dec | 置基数为10 相当于"%d" |
| hex | 置基数为16 相当于"%X" |
| oct | 置基数为8 相当于"%o" |
| setfill(c) | 设填充字符为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) | 16进制数大写输出 |
| setiosflags(ios::lowercase) | 16进制小写输出 |
| setiosflags(ios::showpoint) | 强制显示小数点 |
| setiosflags(ios::showpos) | 强制显示符号 |
示例:
#include <iomanip>
#include <iostream>
using namespace std; int main()
{
cout << hex << << endl; //
cout << 12345.0 << endl; //12345
cout << setiosflags(ios::scientific) << 12345.0 << endl; //1.234500e+004
cout << setprecision() << 12345.0 << endl; //1.235e+004 system("pause"); return ;
}
在C++中,setw(int n)的更多相关文章
- java中的int与byte的转化
java中的int与byte的转化 1.基础准备 1.1.原码 就是二进制码,最高位为符号位,0表示正数,1表示负数,剩余部分表示真值 1.2.反码 在原码的基础上,正数反码就是他本身,负数除符号位之 ...
- 在 C# 中,(int) ,Int32.Parse() 和 Convert.toInt32() 三种方法的区别
在 C# 中,(int),Int32.Parse() 和 Convert.toInt32() 三种方法有何区别? int 关键字表示一种整型,是32位的,它的 .NET Framework 类型为 S ...
- C++中,int a = 10的后面的操作
在C++中,int a = 10的内存表现形式取决于你的具体代码和优化级别,主要的几种形式: 不存在于内存中.比如a从未改变,被编译器当成常量,所有代码中的a直接替换成10: 存在于寄存器中:比如对a ...
- Java 中的 int 与 Integer 用于 List<Integer> 时,以及通过打印变量检測程序执行和函数调用次数计数
总结一下近期做的东西中遇到的问题 1. Java 中的 int 与 Integer 用于 List<Integer> 时 两者之间的关系都是非常清楚的.int 是基本数据类型,存储的是值 ...
- 【c#文档】在 C# 中,(int) ,Int32.Parse() 和 Convert.toInt32() 三种方法的区别
[c#文档]https://msdn.microsoft.com/zh-cn/library/system.convert.toint32.aspx 转载自:http://www.cnblogs.co ...
- 选项B中:int b[][3]={0,1,2,3}
选项B中:int b[][3]={0,1,2,3};等价于 int b[][3]={0,1,2,3,0,0}; int b[][3]={0,1,2,3,4}; cout<& ...
- java中String,int,Integer,char、double类型转换
java中String,int,Integer,char.double类型转换----https://www.cnblogs.com/kangyu222/p/5866025.html
- 【转载】 C#中使用int.TryParse方法将字符串转换为整型Int类型
在C#编程过程中,将字符串string转换为整型int过程中,时常使用的转换方法为int.Parse方法,但int.Parse在无法转换的时候,会抛出程序异常,其实还有个int.TryParse方法可 ...
- 【转载】C#中使用int.Parse方法将字符串转换为整型Int类型
在C#编程过程中,很多时候涉及到数据类型的转换,例如将字符串类型的变量转换为Int类型就是一个常见的类型转换操作,int.Parse方法是C#中专门用来将字符串转换为整型int的,int.Parse方 ...
随机推荐
- 【原创】大叔经验分享(49)hue访问hdfs报错/hue访问oozie editor页面卡住
hue中使用hue用户(hue admin)访问hdfs报错: Cannot access: /. Note: you are a Hue admin but not a HDFS superuser ...
- Python——函数,模块,简单文件读写
函数(function)定义原则: 最大化代码重用,最小化代码冗余,流程符合思维逻辑,少用递归; 函数的定义方法: def function_name(param_1, param_2): ..... ...
- MUI底部导航切换子页面
1.登陆页面进入之后,进入到main页面,main页面只有一个底部导航,然后引入子页面进行渲染. <nav class="mui-bar mui-bar-tab" id=&q ...
- UiAutomator2.0 - 获取同行控件
目录 问题:UI测试时,在同一个界面出现相同的属性的控件(如图),对于这种控件的获取很是无奈.如果直接通过控件id去查找的话总是会返回界面该类型的第一个控件. 解决: 1.UiObject2 中已经给 ...
- 四 Memcache
官网http://memcached.org 了解 cookies和session 安装memcached # yum install memcached -y 安装nc和telnet 来管理mem ...
- Docker动态给容器Container暴露端口
查看Container的IP地址 docker inspect <container name or id>| grep IPAddress 查看Container的映射的端口 docke ...
- OpenCV-Python : 直方图
啥叫直方图 直方图简单来说就是图像中每个像素值的个数统计,比如一副灰度图中像素值为0的有多少个,1的有多少个... 在计算直方图之前,先了解几个术语: dims:要计算的通道数,对于灰度图dims=1 ...
- EFCore+Mysql仓储层建设(分页、多字段排序、部分字段更新)
前沿 园子里已有挺多博文介绍了EFCore+Mysql/MSSql如何进行使用,但实际开发不会把EF层放在Web层混合起来,需要多个项目配合结构清晰的进行分层工作,本文根据个人实践经验总结将各个项目进 ...
- Excel—图表函数
OFFSET(引用函数)它可以找一个区域,把一个区域的值都拿回来 函数语法:OFFSET(从哪个单元格开始,这个单元格下移多少行开始,然后现在的位置再往右多少列开始,要取的值是现在的位置开始下移多少行 ...
- python2用pip进行安装时报错Fatalerrorinlauncher:Unabletocreateprocessusing"
win10下python3和python2共存环境 用pip安装一个包执行pip2 install xxx的时候报错Fatal error in launcher: Unable to create ...