1. 程式人生 > >C++浮點數輸出 保留有效數字位數設定

C++浮點數輸出 保留有效數字位數設定

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()
{
      float fn = 3.5004;
      cout << setprecision(3) << 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