當COUT-ING浮動點的數量,即31.14159,我怎麼可以設置COUT(4)在浮點使用setprecision:如何使用setprecision在CPP僅適用於浮動的點數
cout <<setprecision(4)<< 31.14159<<endl; // returns 31.14
原樣,它認爲整數以十進制數字表示,輸出:31.14。不過,我想得到:31.1416。
當COUT-ING浮動點的數量,即31.14159,我怎麼可以設置COUT(4)在浮點使用setprecision:如何使用setprecision在CPP僅適用於浮動的點數
cout <<setprecision(4)<< 31.14159<<endl; // returns 31.14
原樣,它認爲整數以十進制數字表示,輸出:31.14。不過,我想得到:31.1416。
std :: fixed表示小數點後面會有一個固定的小數位數。
std::cout << std::setprecision(4) << std::fixed << 31.14159;
- 這將打印31.1416
I試圖通過加2個雙打來理解'setprecision',加法在小數部分有'0'。並且使用'cout << setprecision(2)'打印的答案沒有添加'std :: fixed'導致不打印答案的小數部分...您能解釋一下,爲什麼會發生這種情況 – Anuj
您可以使用std::fixed
std::cout << std::fixed << std::setprecision(4) << 31.14159 << endl ;
,你會得到輸出爲31.1416
當您添加std::fixed
,該std::setprecision(4)
將於效果小數部分,因此您將在小數點後獲得4
值。
A std::setprecision()
將對整個號碼生效。但是,當您將std::fixed
與其一起添加時,std::setprecision()
只會影響數字的小數部分。
我想了解'setprecision '通過加2個雙打,小數部分加上'0'。並且使用'cout << setprecision(2)'打印而未添加'std :: fixed'的答案導致不打印答案的小數部分......您能解釋一下,爲什麼發生這種情況 – Anuj
可能重複的[用cout打印正確的小數點數](http://stackoverflow.com/questions/5907031/printing-the-correct-number-of-decimal-points-with-cout) –