title: Double subtraction precision issue
body: <p>My coworker did this experiment:</p>
  
  <pre><code>public class DoubleDemo {
  
        public static void main(String[] args) {
             double a = 1.435;
             double b = 1.43;
             double c = a - b;
             System.out.println(c);
        }
   }
  </code></pre>
  
  <p>For this first-grade operation I expected this output:</p>
  
  <pre><code>0.005
  </code></pre>
  
  <p>But unexpectedly the output was:</p>
  
  <pre><code>0.0050000000000001155
  </code></pre>
  
  <p>Why does double fails in such a simple operation? And if double is not the datatype for this work, what should I use?</p>