2012-12-22 45 views
4

我想要編譯一個C++應用程序,我不能使用setprecision沒有了iomanip

#include <iomanip> 

有沒有替代的方式來做到這一點?

信息:我需要的setprecision爲5

+2

爲什麼它標記爲C,jQuery和PHP? – anishsane

回答

13

是的,你必須使用

cout.precision(5); 

的能力這不需要

#include <iomanip> 

注意:這將設置整個文檔的精度。

例子:

cout.precision(5); 
cout << f; 
+1

好的,謝謝,這個作品 – AMD

+4

'precision()'設置總是很粘。唯一不粘的標準格式設置是'width()'。 –

+1

我發現使用非粘性設置的操縱器(或者在完整表達式的末尾重置設置的操縱器)是一個很好的約定。但我似乎一個人在這。 (當然,在真正的代碼中,除了'std :: setw'外,你幾乎不會使用標準的操縱符,並且你可以安排你的home構建操縱符在完整表達式的末尾重置狀態。) –

3

您可以直接設置precision()的流,例如:

std::cout.precision(5); 
+0

我正在使用「using namespace std」。 – AMD

+9

那麼?我正在處理大量的軟件,我發現具有各自名稱空間的合格名稱有助於避免含糊不清。此外,從使用使用指令的問題(在大多數情況下,我認爲這是不好的做法)中看不到它。 –

+0

@Amden:如果你不需要它,你可以自由地將'std ::'拿走;同樣,如果你引用了'std :: cout',你可以使用它('std :: ostream&amden = std :: cout; amden.precision(5);')。但是正確的是,這裏提供了完整且正確的原始代碼行。 –