title: How to distinguish zero from very small number in floating-form
body: <p>I am about to develop a scientific calculator. My question is:
  How can I distinguish zero result from very small numbers using float number?</p>
  
  <p>For example, for 0.3 - 0.2 - 0.1, the result is something like 1E-19, which is not pure zero (precision problem, of course). I want to print out the result (0.0). So I use the EPSILON to do the comparison with zero. </p>
  
  <p>The problem is, for the calculation: 3E-19 - 2E-19 the result should be 1E-19. I should print out the exactly result (though small) 1E-19. But if I still use the EPSILON comparison, the result is forced to be zero.</p>
  
  <p>So, again, my question is: How can I do the check for zero and very small numbers?</p>