利用C++<iomanip>中的函式: setprecision

用法如下,直接在cout時做處理就好,它會在IO串流中幫你將想輸出的位數輸出

1
2
double test = 1.23456;
cout << setprecision(4) << test << endl;

以上結果會是:1.235

4的意思是最多輸出4個數字,並且將多餘的做四捨五入

如果想做的事情是限制小數點以下的位數,就需要加入fixed

1
2
double test = 1.23456;
cout << fixed << setprecision(4) << test << endl;

以上的結果會是:1.2346

取到小數點以下第4位,並做四捨五入

繼續做測試發現了一個有趣的事情

一但fixed先被放入I/O了,之後用在用setprecision的結果

前面即便不加fixed,都會自動fixed了= =~

可能需要先clear串流buffer吧,像是C的fflush一樣