【转】控制台输出:保留有效数字与保留小数点

setprecision(n)的運用

頭文件: #include <iomanip>

cout後面添加: <<setprecision(3) //setprecision的意思為「設置精度」,括弧內的數字自定。

//輸出採用『與<<連用的設置方式』,所以要包含该头文件。

功能:

(1)浮點輸出中,setprecision(n)表示有效位數。   

(2)定點輸出中(setiosflags(ios::fixed)),setprecision(n)表示小數點后數字位數。

(3)指數形式輸出中(setiosflags(ios::scientific)),setprecision(n)表示小數位數。   

(4)系統默認設置為setprecision(6)。

==================================

實例:

// 一、輸出保留小數點後3位

#include <iostream>

#include <iomanip>

using namespace std;

int main() {

double fn = 3.1415926;//不能使用float

cout << setprecision(8) << setiosflags(ios::fixed | ios::showpoint) // 灰色可省去,效果同。

<< fn << endl;

return 0;

}

// 二、輸出最多保留3位有效數字

#include <iostream>

#include <iomanip>

using namespace std;

int main() {

float fn = 3.101;

cout << setprecision(3) << setiosflags(ios::showpoint) // 灰色添加,則後面補充零,直至滿足有效位數,當保留的有效數字恰好到個位數為止,則後面仍顯示小數點。

<< fn << endl;

return 0;

}

PS:

當頭文件有#include <iostream>時,setiosflags(ios::XXX)可以直接寫成XXX。

如:cout<<setiosflags(ios::flxed) 可直接寫成 cout<<fixed

原文地址:https://www.cnblogs.com/yssgyw/p/3485791.html