You can override the default number of digits after the decimal point by calling the precision() member function of an ostream object. The following program first displays six digits after the decimal point and then changes the precision to 18 digits after the decimal point:
double f = 1.0/3.0;
cout<<f<<endl; // display .333333
cout.precision(18L);
cout<<f<<endl; // display 0.333333333333333315
Note that the precision used doesn't affect the underlying representation of floating point numbers or its accuracy; it only affects the way these numbers are displayed.