title: Python Numpy - Treat really small numbers as zero
body: <p>I want to calculate the Determinant of a Singular Matrix (which has a 0 determinant) with Numpy and when I print the determinant it shows a really small number (which is nearly zero = -7.09974814699e-30) but not zero itself...</p>
  
  <p>when I try to print the determinant either with %s, %d or %f, sometimes it's zero, sometimes -0 and sometimes -7.09974814699e-30 .</p>
  
  <p>Here's the Code :</p>
  
  <pre><code>import numpy as np
  
  array = np.arange(16)
  array = array.reshape(4, -1)
  determinant = np.linalg.det(array)
  
  print("Determinant is %s" % determinant)
  print("Determinant is %d" % determinant)
  print("Determinant is %f" % determinant)
  
  Determinant is -7.09974814699e-30
  Determinant is 0
  Determinant is -0.000000
  </code></pre>
  
  <p>How can I make Numpy treat really small numbers such as -7.09974814699e-30 as zero and show zero to me. I also asked <a href="https://stackoverflow.com/questions/36391125/numpy-modal-matrix-and-diagonal-eigenvalues">this question</a> before, if you take a look at the matrix you see that it's filled with really small numbers but not zero while it should be a diagonal matrix with numbers on the diagonal and zeros elsewhere...</p>
  
  <p>Thank you...</p>