title: Why would Ruby fail equality on 2 floats that appear the same?
body: <p>I have a calculation that generates what appears to be the Float 22.23, and a literal 22.23 like so:</p>
  
  <pre><code>some_object.total =&gt; 22.23
  some_object.total.class =&gt; Float
  
  22.23 =&gt; 22.23
  22.23.class =&gt; Float
  </code></pre>
  
  <p>But for some reason, the following is false:</p>
  
  <pre><code>some_object.total == 22.23 ? true : false
  </code></pre>
  
  <p>Wacky, right?</p>
  
  <p>Is there some kind of precision mechanism being used that maybe isn't completely transparent through the some_object.total call?</p>