I/O流控制:
(1)控制浮點數(shù)值顯示可用
setprecision(n) 控制輸出流顯示浮點數(shù)的數(shù)字個數(shù),默認輸出有效值為6位。
setiosflags(ios::fixed) 用定點方式表示實數(shù)
seiosflags(ios::scientific) 用指數(shù)方式表示實數(shù)
setiosflags(ios::fixed)與seiosflags(ios::scientific)都可以和setprecision(n)合用,其效果分別為:控制小數(shù)點右邊的數(shù)字個數(shù),控制指數(shù)表示法的小數(shù)位數(shù)。
在用浮點表示的輸出中,setprecision(n)表示有效位數(shù)。
在用定點表示的輸出中,setprecision(n)表示小數(shù)位數(shù)。
在用指數(shù)形式輸出時,setprecision(n)表示小數(shù)位數(shù)。
小數(shù)位數(shù)截短顯示時,進行4舍5入處理。
// 測試環(huán)境:Visual Studio.net 2003 C++
#include "stdafx.h"
#include <iomanip>
#using <mscorlib.dll>
using namespace System;
using namespace std;
void _tmain()
{
double amount=22.0/7;
cout <<amount <<endl;
cout <<setprecision(1) <<amount <<endl
<<setprecision(2) <<amount <<endl
<<setprecision(3) <<amount <<endl
<<setprecision(4) <<amount <<endl;
cout <<setiosflags(ios::fixed);
cout <<setprecision(8) <<amount <<endl;
cout <<setiosflags(ios::scientific) <<amount <<endl; // setiosflags(ios::fixed)定義在setiosflags(ios::scientific)前則指數(shù)形式不能被正確的輸出。
cout <<setprecision(6);
}
(2)左右對齊輸出可用
setiosflags(ios::left)和
setiosflags(ios::right)實現(xiàn)。
#include "stdafx.h"
#include <iomanip>
#using <mscorlib.dll>
using namespace System;
using namespace std;
void _tmain()
{
cout <<setiosflags(ios::right) // 交換setiosflags(ios::right)與setiosflags(ios::left)的位置可以實現(xiàn)先左后右對齊,否則都位右對齊
<<setw(5) <<1
<<setw(5) <<2
<<setw(5) <<3 <<endl;
cout <<setiosflags(ios::left)
<<setw(5) <<1
<<setw(5) <<2
<<setw(5) <<3 <<endl;
}
(3)設(shè)置填充字符可用
setw和
setfill實現(xiàn)。
setw用來確定顯示的寬度,
setfill用來確定一個非空格的特別字符(設(shè)置填充的字符)。
(4)強制顯示小數(shù)點和符號可用
setiosflags(ios::showpoint) 和
setiosflags(ios::showpos) 實現(xiàn)。
posted on 2006-02-19 23:59
豪 閱讀(410)
評論(0) 編輯 收藏 引用 所屬分類:
Basic C++