When I run the following code ,
NSString* s= @"10000000.01"; float f = [s floatValue]; double d = [s doubleValue]; if(f > 10000000) { NSLog(@"Over Value"); } else { NSLog(@"OK Float"); } if(d > 10000000) { NSLog(@"Over value"); } else { NSLog(@"OK Double"); } The response is like following.
2013-04-19 17:07:29.284 float[2991:907] OK Float 2013-04-19 17:07:29.287 float[2991:907] Over value Why float value changed to 10000000.00 instead of 10000000.01 ?