cout.setf 函數(shù)
cout.setf(ios_base::fixed, ios_base::floatfield); // fixed-point
#include <iostream>
int main()
{
using namespace std;
cout.setf(ios_base::fixed, ios_base::floatfield); // fixed-point
float tub = 10.0 / 3.0; // good to about 6 places
double mint = 10.0 / 3.0; // good to about 15 places
const float million = 1.0e6;
cout << "tub = " << tub;
cout << ", a million tubs = " << million * tub;
cout << ",\nand ten million tubs = ";
cout << 10 * million * tub << endl;
cout << "mint = " << mint << " and a million mints = ";
cout << million * mint << endl;
// cin.get();
return 0;
}
C++中通過cout來實(shí)現(xiàn)格式輸出,就類似于C語言中通過printf()來實(shí)現(xiàn)格式輸出割粮。cout.setf()的作用是通過設(shè)置格式標(biāo)志來控制輸出形式走净,其中ios_base::fixed表示:用正常的記數(shù)方法顯示浮點(diǎn)數(shù)(與科學(xué)計(jì)數(shù)法相對(duì)應(yīng))僚纷;ios_base::floatfield表示小數(shù)點(diǎn)后保留6位小數(shù)授霸。
setf()函數(shù)有兩個(gè)原型伪煤,分別是:
fmtflags setf(fmtflags flags);
fmtflags setf(fmtflags flags, fmtflags mask);
setf()的第一原型:
C++為標(biāo)準(zhǔn)輸入和輸出定義了一些格式標(biāo)志, 它可以通過flags(), setf(), 和 unsetf() 三個(gè)函數(shù)來控制.
例如 cout.setf(ios_base::left); //對(duì)所有cout的輸出進(jìn)行左對(duì)齊調(diào)整.
還有一些常見的標(biāo)志:
setf()的第二原型:
第二原型包含兩個(gè)參數(shù)朵诫,第一個(gè)參數(shù)和第一原型里的參數(shù)一樣,第二個(gè)參數(shù)指出要清除第一參數(shù)中的哪些位速侈,也就是說率寡,在第二原型中,第一個(gè)參數(shù)指出要設(shè)置哪些位倚搬,第二個(gè)參數(shù)指出要清除哪些位冶共。
再回到C++ cout.setf(ios_base::fixed,ios_base::floatfiled)
就是說輸出使用定點(diǎn)輸出,同時(shí)輸出到小數(shù)點(diǎn)后6位潭枣。
對(duì)于定點(diǎn)計(jì)數(shù)和科學(xué)計(jì)數(shù)法
精度是指小數(shù)點(diǎn)后幾位數(shù)
顯示末尾的0