C++ cout輸出保留小數


參考:

http://www.cnblogs.com/wushuaiyi/p/4439361.html

http://blog.csdn.net/edricbjtu/article/details/41082597

 

C 語言中 printf () 函數可以非常方便控制保留 幾位小數輸出,在 C++ 當中也是可以控制小數保留,cout () 和 printf () 還是有一些區別。

 

需要頭文件#include <iomanip>

  • setprecision()來用來保存有效數字,fixed和setprecision()一起用就變成保存小數點后有效數字。 
  • fixed 可以通過 cout.unsetf(ios::fixed); 這段代碼關掉。不然會一直開着。
  • fixed有個地方需要注意的是可以保存的有效數字包括0,不開fixed的話,即使保存3個有效數字,小數點后的0也會自動省略。即 1.2 要是setprecision(3) 結果還是1.2 而不是1.20. 所以通常想要像在printf()中一樣使用,都是要開fixed的!

下面是測試代碼,自己打一遍過一下,就更熟悉了。

 1 #include <iostream>
 2 #include<iomanip>
 3 using namespace std;
 4 
 5 
 6 int main()
 7 {
 8     //需要頭文件#include <iomanip>
 9     double a=46.21534,b=1.20001;
10     cout.setf(ios::fixed);                      //功能和下一行的fixed功能一樣,同時寫沒關系
11     cout<<fixed<<setprecision(2)<<b<<endl;      //輸出結果為1.20
12     cout.unsetf(ios::fixed);
13     cout << setprecision(2) << b<<endl;         //輸出結果為1.2
14     cout<<setprecision(5)<<a<<endl;             //輸出結果為46.215
15     cout<<setprecision(1)<<a<<endl;             //輸出結果為5e+001
16     return 0;
17 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM