title: NSNumber floatValue not equal to NSNumber value
body: <p>First post here. Having a problem with NSNumber's floatValue method -- somehow, it returns an imprecise number.  Here's the problem:  I store a bunch of NSNumbers in an array, like this:</p>
  
  <pre><code>NSArray *a = [NSArray arrayWithObjects:
      [NSNumber numberWithFloat:0.04f],
      [NSNumber numberWithFloat:0.028f], 
      [NSNumber numberWithFloat:0.016f],
      [NSNumber numberWithFloat:0.004f],
     nil];
  </code></pre>
  
  <p>Then I try to retrieve the first value (for example):
  NSNumber <em>n = (NSNumber</em>) [a objectAtIndex:0];
  CGFloat f = [n floatValue];</p>
  
  <p>In the debugger, n shows a value of 0.04 (in the summary column), but f shows a value of 0.0399999991.  What am I doing wrong here?</p>
  
  <p>Thanks everyone.</p>