Evite a notação científica em ostream ao usar << com duplo

Preciso evitar que meu duplo seja impresso em notação científica no meu arquivo,

quando eu faço isso

outfile << X; 

Para definir a formatação de variables ​​flutuantes, você pode usar uma combinação de setprecision(n) , showpoint e fixed . Para usar manipuladores de stream parametrizados, como setprecision(n) você terá que include a biblioteca iomanip:

 #include  

setprecision(n) : restringirá a saída flutuante a n locais e, uma vez configurada, será definida até que você a desmarque explicitamente para o restante da saída do stream.

fixed : reforçará que todos os números de ponto flutuante são emitidos da mesma maneira. Portanto, se a sua precisão estiver definida para 4 lugares, 6.2 e 6.20 serão ambos emitidos como:

 6.2000 6.2000 

showpoint : forçará as porções decimais de uma variável de ponto flutuante a serem exibidas, mesmo que não esteja explicitamente definida. Por exemplo, 4 será produzido como:

 4.0 

Usando todos juntos:

 outfile << fixed << showpoint; outfile << setprecision(4); outfile << x; 

Todas as respostas acima foram úteis, mas nenhuma respondeu diretamente à pergunta.

 outfile.setf(ios_base::fixed); outfile << x; 

Eu encontrei a resposta no link @moogs: http://www.cplusplus.com/reference/iostream/ios_base/fmtflags/

Aqui está um programa de demonstração: http://ideone.com/FMxRp1

Veja um exemplo de uso http://cplus.about.com/od/learning1/ss/clessontwo_4.htm

como por sua pergunta use

  cout<< fixed<< a<< endl; 

você pode usar sinalizadores de formato

http://en.cppreference.com/w/cpp/io/ios_base/fmtflags