2013-02-03 19 views
18

Olası Çoğalt: Önceki kod çalıştırırsanız
How do I print a double value with full precision using cout?n ondalık basamaklı bir kayan sayı Assurance için nasıl

float a = 175.; 
    cout << a; 

Ben, sadece 175 de elde edeceğiniz elimden sayıları (örneğin) 3 ondalık basamağı bile olsa sıfırlardı. Nasıl "175.000" yazabilirim?!

+0

, netlik için, bunu başlatmak istiyorum 175.0f ile. 175. bir 'çifte' üretecek. Değişken tipinizi değiştirmek istemiyorsanız, bu çoğu durumda daha iyi olur. – chris

+0

@chris aha, bahşiş için thx –

cevap

4

setprecision deneyin:

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

Şimdi yapar .... –

36

Sen std::fixed ve std::setprecision gerekir:

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

Bunlar şu başlığı gerektirir: Bu arada

#include <iomanip> 
+0

Evet, teşekkürler ...! –

+3

Ahh, iostreams ... Bir kaplumbağanın hızını ve Andrew LLoyd-Webber'in güzelliğini kusursuz bir şekilde birleştiriyor. –

+0

@MuhammadBarrima İhtiyacınız olanı göstermek için cevabını kabul etmeyi düşünmelisiniz! : P –

İlgili konular