title: How this implicit type conversion works in java?
body: <h2>Why the output of adding a double value with a float value in Java results in a double value which has more number of digits after decimal points than the input itself?</h2>
  <p><em>Why the digits after decimal points increased and who is supplying this additional value after the decimal points?</em></p>
  <pre><code>public class Main {
      public static void main(String[] args) 
      { 
          double data = 444.324; 
          float value = 5.1f; 
          System.out.println(value+data);   
      } 
  }
  </code></pre>
  <p>Mathematically speaking the output should have been</p>
  <pre><code>449.424
  </code></pre>
  <p><em>right?</em><br/><br/>
  But the output of the following program is</p>
  <pre><code>449.4239999046326
  </code></pre>
  <p>Can anyone explain this behavior?</p>