2013-02-03 92 views
18

可能重複:
How do I print a double value with full precision using cout?如何清點具有n個位小數浮點數

float a = 175.; 
    cout << a; 

如果我運行上面的代碼中,我會得到的只是175,我怎麼能(例如)3位小數,即使它們是零。我怎樣才能打印「175.000」?!

+0

順便說一句,爲了清楚起見,我會初始化與'175.0f'。 '175.'會產生一個'double'。這就是如果你真的不想改變你的變量類型,那在大多數情況下會更好。 – chris

+0

@chris aha,thx的提示 –

回答

4

嘗試setprecision

cout.setf(ios::fixed); 
cout << setprecision(3) << a << endl; 
+0

現在呢...... – 2013-02-03 21:30:10

36

你需要std::fixedstd::setprecision

std::cout << std::fixed << std::setprecision(3) << a; 

這些都需要下面的頭:

#include <iomanip> 
+0

是的,謝謝你..! –

+3

啊,iostreams ...無縫地結合了一隻烏龜的快速和AndrewLoyd-Webber的美麗。 –

+0

@MuhammadBarrima你應該考慮接受他的答案,以顯示你需要哪一個! :P –

相關問題