title: Why Convert.ToInt32(1.0/0.00004) != (Int32)(1.0/0.00004)
body: <p>Why this code  <a href="http://ideone.com/YRcICG" rel="nofollow">http://ideone.com/YRcICG</a></p>
  
  <pre><code>void Main()
  {   
      double a = 0.00004;
      Int32 castToInt = (Int32)(1.0/a);
      Int32 convertToInt = Convert.ToInt32(1.0/a);
  
      Console.WriteLine("{0} {1:F9} {2:F9}", castToInt == convertToInt, castToInt, convertToInt);
  
      Console.WriteLine((((int)(1.0/(1.0/25000))) == 24999));
  }
  </code></pre>
  
  <p>results in</p>
  
  <blockquote>
    <p>False 24999,000000000 25000,000000000<br>
    True</p>
  </blockquote>
  
  <p>in context of CLR/C# implementation</p>