2013-02-03 20 views
18

thể trùng lặp:
How do I print a double value with full precision using cout?Làm thế nào để cout một số float với nơi n chữ số thập phân

float a = 175.; 
    cout << a; 

Nếu tôi chạy mã trước đó tôi sẽ nhận được chỉ là 175, làm thế nào tôi có thể cout số với (ví dụ) 3 chữ số thập phân ngay cả khi chúng là số không .. Làm thế nào tôi có thể in "175.000"?!

+0

Bằng cách này, cho rõ ràng, tôi muốn khởi tạo nó với '175.0f'. '175.' sẽ tạo ra một' double'. Đó là nếu bạn thực sự không muốn thay đổi loại biến của mình, điều này sẽ tốt hơn trong hầu hết các trường hợp. – chris

+0

@chris aha, thx dành cho mẹo –

Trả lời

4

Hãy thử setprecision:

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

Hiện tại nó có ... –

36

Bạn cần std::fixedstd::setprecision:

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

Những yêu cầu tiêu đề sau đây:

#include <iomanip> 
+0

Vâng, cảm ơn ..! –

+3

Ahh, iostreams ... liên tục kết hợp tốc độ của một con rùa và vẻ đẹp của Andrew LLoyd-Webber. –

+0

@MuhammadBarrima Bạn nên cân nhắc việc chấp nhận câu trả lời của mình để cho biết bạn cần câu trả lời nào! : P –