title: dtype usage when converting list to numpy array
body: <p>I am quite confused by <code>dtype</code> when creating numpy array. I am creating them from a list of floats. First let me note that is not an issue of printing, becuase I already did: <code>np.set_printoptions(precision=18)</code>.  </p>
  
  <p>This is a part of my list:</p>
  
  <pre><code>In [37]: boundary
  Out[37]: 
  [['3366307.654296875', '5814192.595703125'],
   ['3366372.2244873046875', '5814350.752685546875'],
   ['3366593.37969970703125', '5814844.73492431640625'],
   ['3367585.4779052734375', '5814429.293701171875'],
   ['3367680.55389404296875', '5814346.618896484375'],
   ....
   [ 3366307.654296875     ,  5814192.595703125     ]]
  </code></pre>
  
  <p>Then I convert it to a numpy array:</p>
  
  <pre><code>In [43]: boundary2=np.asarray(boundary, dtype=float)   
  In [44]: boundary2
  Out[44]: 
  array([[ 3366307.654296875     ,  5814192.595703125     ],
         [ 3366372.2244873046875 ,  5814350.752685546875  ],
         [ 3366593.37969970703125,  5814844.73492431640625],
          ....
         [ 3366307.654296875     ,  5814192.595703125     ]])
  # the full number of significant digits is preserved. 
  # this also works with:
  In [45]: boundary2=np.array(boundary, dtype=float)
  
  In [46]: boundary2
  Out[46]: 
  array([[ 3366307.654296875     ,  5814192.595703125     ],
       [ 3366372.2244873046875 ,  5814350.752685546875  ],
       [ 3366593.37969970703125,  5814844.73492431640625],
       ...
       [ 3366307.654296875     ,  5814192.595703125     ]])
  
  # This also works with dtype=np.float
  In [56]: boundary3=np.array(boundary, dtype=np.float)
  In [57]: boundary3
  Out[57]: 
  array([[ 3366307.654296875     ,  5814192.595703125     ],
         [ 3366372.2244873046875 ,  5814350.752685546875  ],
         [ 3366593.37969970703125,  5814844.73492431640625],
         ....
         [ 3366307.654296875     ,  5814192.595703125     ]])
  </code></pre>
  
  <p>Here is why I am confused, if I used <code>dtype=np.float32</code> it <strong>seems</strong> like I loosing significant digits:</p>
  
  <pre><code>In [58]: boundary4=np.array(boundary, dtype=np.float32)   
  In [59]: boundary4
  Out[59]: 
  array([[ 3366307.75,  5814192.5 ],
         [ 3366372.25,  5814351.  ],
         [ 3366593.5 ,  5814844.5 ],
         [ 3367585.5 ,  5814429.5 ],
         ...
         [ 3366307.75,  5814192.5 ]], dtype=float32)
  </code></pre>
  
  <p>The reason I say <strong>it seems</strong> is because apparently the arrays are the same. I can't see the data directly, but checking with <code>np.allclose</code> returns True:</p>
  
  <pre><code>In [65]: np.allclose(boundary2, boundary4)
  Out[65]: True
  </code></pre>
  
  <p>So, if you read so far, I hope you see why I am confused, and maybe there someone who can answer the following 2 questions:  </p>
  
  <ol>
  <li>Why is <code>dtype=float32</code> "hiding" my data ?</li>
  <li>Should I be concerned about it or I can safely continue using <code>dtype=float</code>?</li>
  </ol>