输出格式化:setprecision(), stew(), stefill(), setbase(), fixed() 的用法

一、setprecision()

#include <iostream.h>

#include <iomanip.h> //要用到格式控制符

int main()

{

double amount = 22.0/7;

cout << amount <<endl;

cout << setprecision(0) << amount <<endl; //C++最小的有效位数为1,所以作为有效位数设置为1来看待  

<< setprecision(1) << amount << endl;

<< setprecision(2) << amount << endl;

<< setprecision(3) << amount << endl;

<< setprecision(4) << amount << endl;

cout << setiosflags(ios::fixed) << setprecision(8) << amount << endl;

cout << setiosflags(ios::scientific) << amount << endl;

cout << setprecision(6) <<amount << endl; //重新设置成原默认设置

return 0;

}

运行结果为:

3.14286

3

3

3.1

3.14

3.143

3.14285714

3.14285714e+00

3.14286

注:
1.在用浮点表示的输出中,setprecision(n)表示有效位数(小数点两边一共多少个数字,n代表数字)。

2.C++默认的流输出数值有效位是6。

setiosflags(ios::fixed)是用定点方式表示实数

如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。

setiosflags(ios::scientific)是用指数方式表示实数。

如果如果setprecision(n)与setiosflags(ios::scientific)合用,可以控制指数表示法(科学计数法)的小数位。

二、
setw()用法: 通俗地讲就是预设宽度

如:cout << setw(5) << 666 << endl;

结果是:

(空格)(空格)666

setfill() 用法 : 就是在预设宽度中如果已存在没用完的宽度大小,则用设置
的字符填充

如: cout << setfill('q') << setw(5) << 666 << endl;

结果是:

qq666

▲setbase(int n) : 将数字转换为 n 进制.
注:只有8、10、16三种进制的转换,参数输入其他数字的话默认作为十进制输出。

如:

 cout<<setbase(8)<<setw(5)<<255<<endl; 

cout<<setbase(10)<<setw(5)<<255<<endl;

cout<<setbase(16)<<255<<endl;

结果是:

(空格)(空格)377

(空格)(空格)255

ff 

三、fixed()
fixed()就是用一般的方式输出浮点数,而不是科学计数法。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值