title: Why does this double to int conversion not work?
body: <p>I've been thoroughly searching for a proper explanation of why this is happening, but still don't really understand, so I apologize if this is a repost.</p>
  
  <pre><code>#include &lt;iostream&gt;
  int main()
  {
      double x = 4.10;
      double j = x * 100;
  
      int k = (int) j;
  
      std::cout &lt;&lt; k;
   }
  
   Output: 409
  </code></pre>
  
  <p>I can't seem to replicate this behavior with any other number. That is, replace 4.10 with any other number in that form and the output is correct.</p>
  
  <p>There must be some sort of low level conversion stuff I'm not understanding. </p>
  
  <p>Thanks!</p>