Learning Note【控制小数位和位宽】

#include <iostream> 
#include <iomanip>

using namespace std; 

const double d1 = 1.23456789;
const double d2 = 12.3456789;
const double d3 = 123.456789;
const double d4 = 1234.56789;
const double d5 = 12345.6789;

const long l1 = 16;
const long l2 = 256;
const long l3 = 1024;
const long l4 = 4096;
const long l5 = 65536;

int base = 10;

//输出用的函数
void DisplayDefault( )
{
    cout << endl << "default display" << endl;
    cout << "d1 = " << d1 << endl;
    cout << "d2 = " << d2 << endl;
    cout << "d3 = " << d3 << endl;
    cout << "d4 = " << d4 << endl;
    cout << "d5 = " << d5 << endl;
}

//控制位宽
void DisplayWidth( int n )
{
    cout << endl << "fixed width display set to " << n << ".\n";
    cout << "d1 = " << setw(n) << d1 << endl;
    cout << "d2 = " << setw(n) << d2 << endl;
    cout << "d3 = " << setw(n) << d3 << endl;
    cout << "d4 = " << setw(n) << d4 << endl;
    cout << "d5 = " << setw(n) << d5 << endl;
}

//控制进制
void DisplayLongs( )
{
    cout << setbase(10);
    cout << endl << "setbase(" << base << ")" << endl;
    cout << setbase(base);
    cout << "l1 = " << l1 << endl;
    cout << "l2 = " << l2 << endl;
    cout << "l3 = " << l3 << endl;
    cout << "l4 = " << l4 << endl;
    cout << "l5 = " << l5 << endl;
}

int main( int argc, char* argv[] )
{
	//直接输出的样子
    DisplayDefault( );

	//setprecision是控制有效数字的
    cout << endl << "setprecision(" << 3 << ")" << setprecision(3);
    DisplayDefault( );

    cout << endl << "setprecision(" << 12 << ")" << setprecision(12);
    DisplayDefault( );

	//以科学计数法输出
    cout << setiosflags(ios_base::scientific);
    cout << endl << "setiosflags(" << ios_base::scientific << ")";
    DisplayDefault( );

	//清除以上的指定标识
    cout << resetiosflags(ios_base::scientific);
    cout << endl << "resetiosflags(" << ios_base::scientific << ")";
    DisplayDefault( );

	//用S来填充至15位(左填充)
    cout << endl << "setfill('" << 'S' << "')" << setfill('S');
    DisplayWidth(15);
    DisplayDefault( );

	//用空格来填充至15位(左填充)
    cout << endl << "setfill('" << ' ' << "')" << setfill(' ');
    DisplayWidth(15);
    DisplayDefault( );

    cout << endl << "setprecision(" << 8 << ")" << setprecision(8);
    DisplayWidth(10);
    DisplayDefault( );

    base = 16;
    DisplayLongs( );
    base = 8;
    DisplayLongs( );
    base = 10;
    DisplayLongs( );

	system("pause");
    return 0;
} 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值