NSString的floatValue和doubleValue区别

NSString的floatValue和doubleValue区别

float f1 = [str1 floatValue];

float f2 = [str2 doubleValue];

floatValue和doubleValue都会保留到小数点后6位。

floatValue是保留6~7位精度的小数:是总的位数保留6~7位的精度。比如此时的str1 = @"2.344668",那么f1就能完整保留下来为:2.344668。如果此时str1 = @"2543.454657",f1只会保留到:2543.455xxx。后面的xxx表示已经无法精确了。

而doubleValue则可以保留15~16位小数。比如此时的str2 = @"2.344668",那么f2能完整保留下来为:2.344668。如果此时str2 = @"2543.454657",f2也能完整保留下来:2543.454657。如果此时str2 = @"2543.454657346546476576767",那么f2也只会保留到小数点后最多6位为:2543.454657

你可能感兴趣的:(NSString的floatValue和doubleValue区别)