☆ C++ 浮點型資料使用 "cout" 輸出
最近在使用printf()輸出浮點數的時候,突然想到可不可以使用cout輸出呢?
於是果斷的去嘗試了一下:
bang~ 後面的0都不見了?
你像printf()可以直接控制" .n%f " 來決定小數點後的位數,但是cout呢??
當然有辦法解決這個問題:
****************************************************************************************************************************************
★直接附上程式碼:
#include <iostream> #include <windows.h> #include <iomanip> //input&output manipulator(操縱器) using namespace std; int main() { system("title 輸出浮點數測試"); float a = 1500.010; //這裡不能是int cout << setprecision(2) << a <<endl; //保留兩位有效數字 cout << setprecision(8) << a <<endl; cout << setiosflags(ios::fixed) << setprecision(2) << a <<endl; //小數點後保留兩位 return 0; } //set_precision 設定精度
解析:
setprecision(n):設定精度(單獨存在時,表示資料的有效數字為n)
setiosflags(ios::fixed):設定輸入輸出標準標記 -> 主要是將輸出流的格式設定為括號內的格式:fixed(將一個浮點數表示為一個定點整數和小數點和小數部分的格式),配合setprecision(n)在同一個cout語句中使用,setprecision(n)的效果表示小數點後保留的位數(0也會顯示)
執行結果:
****************************************************************************************************************************************
最快的腳步不是跨越,而是繼續,最慢的步伐不是小步,而是徘徊。
****************************************************************************************************************************************