必看:你不知道的c++ cout小知识(续)

**建议先看完上一篇(必看:你不知道的c++输出小知识_Sans的头的博客-CSDN博客

好的,废话很多 ...

走起\Rightarrow

众所周知,在c++中,有时输出的数据会变成这样:

                                                                   Price

Pen:*********1.58

Pencle:******1.21

Erasers:*****1.1

Notebook:***5.65

Schoolbag:**30

             .

             .

             .

这数据格式咋么样?能逼死一个强迫症吧。(强迫症:!!!!!!)

所以,我们需要调整一下格式。

 1.打印末尾的0和小数点 

#include <iostream>
using namespace std;
int main()
{
	double pen,pencle,erasers,notebook,schoolbag;
	cin>>pen>>pencle>>erasers>>notebook>>schoolbag;
	cout.setf(ios_base::showpoint);
	cout<<"Pen:\t\t"<<pen<<endl;
	cout<<"Pencle:\t\t"<<pencle<<endl;
	cout<<"Erasers:\t"<<erasers<<endl;
	cout<<"Notebook:\t"<<notebook<<endl;
	cout<<"Schoolbag:\t"<<schoolbag<<endl;
}

运行效果:

咋么样,过瘾吧,这样就舒服多了。

当然,这其中有人可能会有疑问:为哈setf()成员函数ios_base后要写'::'

Besause:

首先,'::'是作用域运算符

那么,你肯定猜到了————showpoint是ios_base类声明中定义的类级静态常量。类级意味着如果在成员函数定义的外面使用它,必须在前面加'::'(这玩意儿) 

 当然,setf()的威力还不止如此。

setf()函数有两个原型:

第一个:fmtflags setf(fmtflags);

fmtflags格式常量:
 

常量含义
ios_base::boolalpha输入和输出bool值,可以为true或者false
ios_base::showbase对于输出,使用c++基数前缀(0,0x)
ios_base::showpoint显示末尾的小数点
ios_base::uppercase对于16进制输出,使用大写字母,E表示法
ios_base::showpos在正数前面加上+

第二个:fmtflags setf(fmtflags,fmtflags);

第二个参数1:

ios_base::basefield

第一个参数有三个:

1.ios_base::dec                                      使用基数10

2.ios_base::oct                                       使用基数8

3.ios_base::hex                                      使用基数16

 第二个参数2:

ios_base::floatfield

第一个参数有二个:
1.ios_base::fixed                                     使用定点计数法

2.ios_base::scientific                               使用科学技术法

第二个参数3:

 ios_base::adjustfield

第一个参数有三个:

1.ios_base::left                                        使用左对齐

2.ios_base::right                                      使用右对齐

3.ios_base::internal                                 符号或基数前缀左对齐,值右对齐

 

好了,这次真完结了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值