C++输出格式的控制
2016-02-26 16:19
429 查看
之前一直对C++输出格式的控制不了解,今天试验过之后,稍微明白了一点,把自己的理解写一下:
在这里主要讲一下setiosflags(ios::fixed),setiosflags(ios::left),setiosflags(ios::right),setw(n),setprecision(n);
setprecision(n)主要是设置有效数字,比如:
cout<<setprecision(3)<<10.0/3;//必须要写成10.0,不然整数做运算后结果仍为整数,会把小数部分给舍弃掉
显示结果为:3.33(3位有效数字);
如果想要控制小数点后的位数,就需要用到setiosflags(ios::fixed)了,比如:
cout<<setiosflags(ios::fixed)<<setprecisioin(3)<<10.0/3;
显示结果为:3.333(小数点后保留3位);
setw(n)是设置输出内容所占用的位数,比如:
cout<<setw(10)<<10.0/3;
显示结果为: 3.33333(默认为右对齐,前面有4个空格);
一般情况,setw(n)是和setiosflags(ios::left)和setiosflags(ios::right)配合使用的,比如:
cout<<setiosflags(ios::left)<<setw(10)<<10.0/3;
显示结果为:3.33333 (左对齐,右边还有4个空格);
cout<<setiosflags(ios::right)<<setw(10)<<10.0/3;
显示结果为: 3.33333(和上面不加setiosflags(ios::right)的结果相同,前面有4个空格)。
在这里主要讲一下setiosflags(ios::fixed),setiosflags(ios::left),setiosflags(ios::right),setw(n),setprecision(n);
setprecision(n)主要是设置有效数字,比如:
cout<<setprecision(3)<<10.0/3;//必须要写成10.0,不然整数做运算后结果仍为整数,会把小数部分给舍弃掉
显示结果为:3.33(3位有效数字);
如果想要控制小数点后的位数,就需要用到setiosflags(ios::fixed)了,比如:
cout<<setiosflags(ios::fixed)<<setprecisioin(3)<<10.0/3;
显示结果为:3.333(小数点后保留3位);
setw(n)是设置输出内容所占用的位数,比如:
cout<<setw(10)<<10.0/3;
显示结果为: 3.33333(默认为右对齐,前面有4个空格);
一般情况,setw(n)是和setiosflags(ios::left)和setiosflags(ios::right)配合使用的,比如:
cout<<setiosflags(ios::left)<<setw(10)<<10.0/3;
显示结果为:3.33333 (左对齐,右边还有4个空格);
cout<<setiosflags(ios::right)<<setw(10)<<10.0/3;
显示结果为: 3.33333(和上面不加setiosflags(ios::right)的结果相同,前面有4个空格)。
相关文章推荐
- C/C++编码规范
- C语言(内存管理)
- [土狗之路]coursera C语言进阶习题 二维数组右上左下遍历
- C++标准库简介、与STL的关系。
- 1060. Are They Equal (25)
- c++ 中 operator的两种用法
- c++ 内存泄漏检查
- [memory]C语言关于字节对齐的问题
- 机试练习 北理14年01、02题 打开文件顺序
- C++学习之内联函数、引用变量、函数重载、函数模板
- 数组初始化
- 【C++11新特性】 C++11智能指针之shared_ptr
- C语言头文件避免重复包含、#pragma once和#ifndef的区别
- c++中用boost实现共享内存创建map容器
- c++ 文件写样例
- 著名的C++三大库boost、loki、stlport,及其他c++库应用简述
- C语言内存管理分析
- 0:编写虚幻引擎中的UC和C++代码
- MFC的使用技巧(如何彻底删除一个类)
- [置顶] c语言入门之项目4.5——利用“迭代”另类求和