title: Format in the READ statement and real number rounding
body: <p>I am trying to use the format statement in FORTRAN 77 in order to define to precision with which I want to read a number. </p>
  
  <p>Here are the lines of my code:    </p>
  
  <pre><code>double precision x,y,z   
  open(u,FILE='points.dat',STATUS='OLD')    
  do 10 i=1,n    
  read(u,100) x,y,z    
  write(*,*),'check', x,y,z    
  enddo   
  100 format(3(2x,D14.2))     
  close(u)
  </code></pre>
  
  <p>I tried to read these numbers:  1.0542095e-03  -3.4176819e-02  -1.3796906e-01
  with different format and the results are:</p>
  
  <pre><code>format(3(2x,E14.2)):  check  0.0010542095 -0.034176819 -0.13796906    
  format(3(2x,E14.7)):  check  0.0010542095 -0.034176819 -0.13796906     
  format(3(2x,D14.7)):  check  0.0010542095 -0.034176819 -0.13796906    
  </code></pre>
  
  <p>I would have expected the first line to give 0.001000000 and the second line to give 0.001054209 but it seems that format statement has no effect in the reading or maybe I did not use it properly. Anyone could explain me the effect of the format in the read function and how to use it properly?</p>