Dipende anche dal valore ... ricorca che il numero complessivo di cifre significative per un double è comunque 16.

Puoi scrivere

codice:
#include <iomanip>

f << setiosflags(ios::fixed) << setprecision(12) << n << endl;