title: Keep scientific notation when parsing String into Double
body: <p>I'm converting user input from string to scientific notation using <code>Double.parseDouble()</code>. But I notice that this only works for the following range:</p>
  
  <pre><code>value with exponent number &gt;=7 (ie: 1e7) for positive exponent or
  value with exponent number &lt;= -4 (ie: 1e-4) for negative exponent.
  </code></pre>
  
  <p>The code below converts 
          1e7 correctly as 1e7 but
          1e4 incorrectly as 10000</p>
  
  <pre><code>public Double convert(String value){
      DecimalFormat df = new DecimalFormat("0.##E0");
      String formattedVal = df.format(value);      
      return Double.parseDouble(formattedVal);
  }
  </code></pre>