C++中set类函数的使用

文章展示了C++中使用iomanip库来控制输出格式的方法,包括设置固定小数位数、对齐输出、调整数值的显示方式,以及在科学计数法下的格式控制。示例代码解释了setprecision、setw、setiosflags等函数的作用,并探讨了如何实现特定格式的数字输出,如固定有效位数并填充零。
摘要由CSDN通过智能技术生成

头文件:#include <iomanip>

注:set后,在后面所有的输出都是管用的,所以测试一个,需注释其他的。

1.

//输出固定小数
	double t=221.0;
	cout<<fixed<<setprecision(3)<<t<<endl;

输出:221.000

2.

	//对齐,在屏幕上整齐输出
	double t=221.113;
	cout<<setw(8)<<t<<endl;//输出' 221.000'有空格,自动补全8位

输出:空格221.113,会补空格,使长度为8

3.

	//这个setiosflags有点子奇怪,left+right:都左对齐,left+left:前左对齐,后右对齐,没懂
	double values[]={1.23,35.36,653.7,4358.24};
	char *names[]={"Zoot","Jimmy","Al","Stan"};
	for(int i=0;i<4;i++)
	cout
	<<setiosflags(ios_base::left)
	<<setw(6)<<names[i]
	<<resetiosflags(ios_base::left)
	<<setw(10)<<values[i]
	<<endl;

输出:

4.

	//如何输出有效位数固定的,例如数据:55.1  7  1.23 
    //在有效位数为4时,输出为:55.10  7.000  1.230
	//setfill('0')+setw会在前面补0, cout<<setprecision(5)<<t<<endl;对整数7不会补小数
	//下面这种可以科学计数的效果,算是接近目标了
	double values[]={1.23,35.36,653.7,4358.24};
	char *names[]={"Zoot","Jimmy","Al","Stan"};
	cout<<setiosflags(ios_base::scientific);// 小数类型:fixed
	for(int i=0;i<4;i++)
	cout<<setiosflags(ios_base::left)
	<<setw(6)<<names[i]
	<<resetiosflags(ios_base::left)
	<<setw(10)<<setprecision(1)
	<< values[i]<<endl;

 输出:

5.

想输出:123.4    7.000    45.20

目前还没有找到可以直接没有e的,但是固定长度(有效位数非小数的)L输出........ 可能确实需要判断整数的位数M,然后采用<<fixed<<setprecision(L-M)这种?也应该是可以的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值