When I run the following code ,
NSString* s= @\"10000000.01\";
float f = [s floatValue];
double d = [s doubleValue];
if(f > 10000000)
{
NSLog(@\"Ove
float
is 32-bit while double
is 64-bit. A float has fewer significant digits than double.
A float
value doesn't store enough to hold the 10 digits of your 10000000.01
.
Also see Difference between float and double for more details. That is about C/C++ but it applies to Objective-C as well.
Double
Float
The appropriate floating-point type to use depends on the nature and range of values you need to work with in your code. In situations where either type would be appropriate, Double is preferred.