C++格式控制输出

  • 使用控制符控制输出格式
    • 这些控制符是在头文件iomanip中定义的,因而程序中应当包含iomanip
#include <iostream>
#include <iomanip>//不要忘记包含此头文件
using namespace std;
int main()
{
int a;
 cout<<″input a:;
 cin>>a;
 cout<<″dec:<<dec<<a<<endl;               //以十进制形式输出整数
 cout<<″hex:<<hex<<a<<endl;              //以十六进制形式输出整数a
 cout<<″oct:<<setbase(8)<<a<<endl;       //以八进制形式输出整数a
 char *pt=″China″;                        //pt指向字符串″China″
 cout<<setw(10)<<pt<<endl;                //指定域宽为10,输出字符串
cout<<setfill(*)<<setw(10)<<pt<<endl; //指定域宽10,输出字符串,空白处以′*′填充
 double pi=22.0/7.0;                     //计算pi值
 cout<<setiosflags(ios::scientific)<<setprecision(8);//按指数形式输出,8位小数
 cout<<″pi=<<pi<<endl;                               //输出pi值
 cout<<″pi=<<setprecision(4)<<pi<<endl;              //改为4位小数
 cout<<″pi=<<setiosflags(ios::fixed)<<pi<<endl;//改为小数形式输出
 return 0;
}
/*
input a:34↙(输入a的值)
dec:34                   (十进制形式)
hex:22                   (十六进制形式)
oct:42                   (八进制形式)
          China               (域宽为10)
*****China               (域宽为10,空白处以′*′填充)
pi=3.14285714e+00        (指数形式输出,8位小数)
pi=3.1429e+00            (指数形式输出,4位小数)
pi=3.143                 (小数形式输出,精度仍为4)
*/
  • 通过调用流对象cout中用于控制输出格式的成员函数来控制输出格式。
    • 流成员函数setf和控制符setiosflags括号中的参数表示格式状态,它是通过格式标志来指定的。格式标志在类ios中被定义为枚举值。因此在引用这些格式标志时要在前面加上类名ios和域运算符“::”
#include <iostream>
using namespace std;
int main( )
{
int a=21
 cout.setf(ios::showbase);//显示基数符号(0x或0)
 cout<<″dec:<<a<<endl;         //默认以十进制形式输出a
 cout.unsetf(ios::dec);         //终止十进制的格式设置
 cout.setf(ios::hex);           //设置以十六进制输出的状态
 cout<<″hex:<<a<<endl;         //以十六进制形式输出a
cout.unsetf(ios::hex);         //终止十六进制的格式设置
 cout.setf(ios::oct);           //设置以八进制输出的状态
 cout<<″oct:<<a<<endl;         //以八进制形式输出a
cout.unseft(ios::oct);
 char *pt=″China″;              //pt指向字符串″China″
 cout.width(10);                //指定域宽为10
 cout<<pt<<endl;                //输出字符串
 cout.width(10);                //指定域宽为10
 cout.fill(*);                //指定空白处以′*′填充
 cout<<pt<<endl;                //输出字符串
 double pi=22.0/7.0;            //输出pi值
cout.setf(ios::scientific);    //指定用科学记数法输出
cout<<″pi=;                   //输出″pi=″
cout.width(14);                //指定域宽为14
cout<<pi<<endl;                //输出pi值
cout.unsetf(ios::scientific); //终止科学记数法状态
cout.setf(ios::fixed);        //指定用定点形式输出
cout.width(12);               //指定域宽为12
cout.setf(ios::showpos);      //正数输出“+”号
cout.setf(ios::internal);     //数符出现在左侧
cout.precision(6);            //保留6位小数
cout<<pi<<endl;               //输出pi,注意数符“+”的位置
return 0;
}

/*
dec:21(十进制形式)
hex:0x15                 (十六进制形式,以0x开头)
oct:025                  (八进制形式,以0开头)
         China               (域宽为10)
*****China               (域宽为10,空白处以′*′填充)
pi=**3.142857e+00        (指数形式输出,域宽14,默认6位小数)
+***3.142857             (小数形式输出,精度为6,最左侧输出数符“+”)
*/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值