title: How to improve Java calculate accuracy
body: <p>in some cases I need to do really precise calculations in Java, but it always have some unexpected errors. How can I avoid them or keep the error in a acceptable range?</p>
  
  <p>e.g.  </p>
  
  <pre><code>public static void main(String[] args) throws Exception {
      double x = 0.0;
      while (x &lt;= 1.0){
          System.out.println(x);
          x += 0.1;
          System.out.println("add 0.1");
      }
  }
  
  
  
  - the result will be 
  
     0.0 add 0.1
     0.1 add 0.1
     0.2 add 0.1
     0.30000000000000004 add 0.1
     0.4 add 0.1
     0.5 add 0.1
     0.6 add 0.1
     0.7 add 0.1
     0.7999999999999999 add 0.1
     0.8999999999999999 add 0.1
     0.9999999999999999 add 0.1
  </code></pre>
  
  <p>which is not as expected.</p>
  
  <p>Thanks in advance</p>