C++学习笔记1(扩充:C++中的格式控制)
前一章,我们了解了再C++中的标准的输入输出问题,那么肯能就有人会问了再C语言中我们可以灵活的控制输出和显示,那么再再C++中可以实现吗?我的回答是当然可以的,只不过再C++中的控制可能相比较而言要比再C++语言中的繁琐一点,那么我们就先来看看最C++中的格式控制(以下所有资料均来自与http://www.cplusplus.com):
1、基数设置方法:
dec 10进制数 相当于%d
hex 16进制数 相当于%x
oct 8进制数 相当于%o
#include <iostream> using namespace std; int main(int argc, char **argv)
{
int val = ;
cout << "dec: " << dec << val << endl;
cout << "hex: " << hex << val << endl;
cout << "oct: " << oct << val << endl;
return ;
}
输出结果为:
dec:
hex:
oct:
2、浮点数的格式控制
setprecision(n) 设置显示小数精度为n位
setiosflags(ios::fixed) 固定的浮点显示
setiosflags(ios::scientific) 指数表示
setiosflags(ios::left) 左对齐
setiosflags(ios::right) 右对齐
#include <iostream>
using namespace std;
#include <iomanip> int main(int argc, char **argv)
{
double dv = 123456.654321; cout << "dv的默认输出: " << dv << endl;
cout << "dv指定为浮点数输出: " << setiosflags(ios::fixed)
<< dv << endl;
cout << "dv指定为浮点数输出,并保留两位小数: " << setiosflags(ios::fixed)
<< setprecision() << dv << endl;
cout << "dv指定为指数形式输出(默认保留5位小数):" << setiosflags(ios::scientific)
<< dv << endl;
cout << "dv指定为指数形式输出,并保留10位小数:" << setiosflags(ios::scientific)
<< setprecision() << dv << endl;
cout << setiosflags(ios::left) << setprecision() << dv << endl;
cout << setiosflags(ios::right) << setprecision() << dv << endl;
return ;
}
输出结果为:
dv的默认输出:
dv指定为浮点数输出: 123456.654321
dv指定为浮点数输出,并保留两位小数: 123456.65
dv指定为指数形式输出(默认保留5位小数):1.2e+05
dv指定为指数形式输出,并保留10位小数:123456.6543
1.2346e+05
setw(n) 设置域宽为n个字符
setfill(char); 设置填充字符
#include <iostream>
using namespace std;
#include <iomanip> int main(int argc, char **argv)
{
int val = ;
double pi = 3.14; //输出宽度为10,左对齐,不足就填充‘*’
cout << "val: " << setw() <<setiosflags(ios::left)
<< setfill('*') << val << endl;
//输出宽度为10,右对齐,不足就填充‘*’
cout << "pi: " << setw() << setiosflags(ios::right)
<< setfill('*')<< pi << endl;
return ;
}
关于C++中的格式控制就先说道这儿,当然除了我们上边提到的还有很多格式控制方法,具体就有待大家去查询了。
C++学习笔记1(扩充:C++中的格式控制)的更多相关文章
- Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流)
1.File类:对硬盘上的文件和目录进行操作的类. File类是文件和目录路径名抽象表现形式 构造函数: 1) File(String pathname) Creat ...
- [C#] 类型学习笔记一:CLR中的类型,装箱和拆箱
在学习.NET的时候,因为一些疑问,让我打算把.NET的类型篇做一个总结.总结以三篇博文的形式呈现. 这篇博文,作为三篇博文的第一篇,主要探讨了.NET Framework中的基本类型,以及这些类型一 ...
- [原创]java WEB学习笔记39:EL中的运算符号(算术运算符,关系运算符,逻辑运算符,empty运算符,条件运算符,括号运算符)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- [原创]java WEB学习笔记38:EL 中的 11个 隐含对象 详解
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- [原创]java WEB学习笔记05:Servlet中的ServletConfig对象
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Android(java)学习笔记110:Java中操作文件的类介绍(File + IO流)
1.File类:对硬盘上的文件和目录进行操作的类. File类是文件和目录路径名抽象表现形式 构造函数: 1) File(String pathname) Creat ...
- Python学习笔记之从文件中读取数据
10-1 Python 学习笔记:在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python 知识,其中每一行都以“In Python you can”打头.将这个文件命名为learnin ...
- Docker学习笔记之-在CentOS中安装Docker
上一节演示了如何 通过Xshell连接CentOS服务,链接:Docker学习笔记之-通过Xshell连接 CentOS服务 本节将演示 如何在CentOS中安装 Docker 第一步:更新系统包到最 ...
- Java泛型学习笔记 - (七)浅析泛型中通配符的使用
一.基本概念:在学习Java泛型的过程中, 通配符是较难理解的一部分. 主要有以下三类:1. 无边界的通配符(Unbounded Wildcards), 就是<?>, 比如List< ...
随机推荐
- TypeScript设计模式之职责链、状态
看看用TypeScript怎样实现常见的设计模式,顺便复习一下. 学模式最重要的不是记UML,而是知道什么模式可以解决什么样的问题,在做项目时碰到问题可以想到用哪个模式可以解决,UML忘了可以查,思想 ...
- ehcache memcache redis 区别
之前用过redis 和 memcache ,没有ehcache 的开发经验,最近也查阅不少文档和博客,写一些总结,也有不少内容总结与诸多博客中的博主总结: Ehcache EhCache 是一个纯J ...
- 浅谈jquery插件开发模式
首先根据<jQuery高级编程>的描述来看,jQuery插件开发方式主要有三种: 通过$.extend()来扩展jQuery 通过$.fn 向jQuery添加新的方法 通过$.widget ...
- 解决ecshop进入后台服务器出现500的问题
ecshop安装完成以后,前台页面打开正常,但是后台页面大家会出现500错误,看了很多的论坛和网站,删除过top.htm里面的JS代码的,.htaccess文件的修改的,都没有解决,后来找到原因, 原 ...
- java 反射与常用用法
java通常是先有类再有对象,有对象我就可以调用方法或者属性. 反射其实是通过Class对象来调用类里面的方法.通过反射可以调用私有方法和私有属性.大部分框架都是运用反射原理. 如何获得Class对象 ...
- (转)crontab安装(command not found)
1. 确认crontab是否安装:执行 crontab -l 命令如果报 command not found,就表明没有安装 2. 安装 crontab执行 yum install -y vixie- ...
- JvisualVM、JMC监控远程服务器
修改服务器上jmxremote.access与jmxremote.password,输入命令: find -name jmxremote.access进入该jmxremote.access文件所在目录 ...
- IOS开发创建开发证书及发布App应用(八)——使用Application Loader工具上传应用
8.使用Application Loader工具上传应用 继续第七步在iTunes所创建的应用,打开应用,如下图 点击详情按钮进去之后,单击右上角Ready to Upload Binary按钮,如下 ...
- Java实现缓存(LRU,FIFO)
现在软件或者网页的并发量越来越大了,大量请求直接操作数据库会对数据库造成很大的压力,处理大量连接和请求就会需要很长时间,但是实际中百分之80的数据是很少更改的,这样就可以引入缓存来进行读取,减少数据库 ...
- 老李推荐:第6章1节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览 2
事件要到那里去? 每个事件源处理类都维护着一个自己的事件队列, 在Monkey中叫做CommandQueue,里面装的是每个具体的MonkeyEvent事件.当来自网络的字串命令被翻译成对应的Monk ...