NSNumber 是数字对象类型,在OC中,用到的元素一般都是对象,所以有时候需要将基本数据类型转换成数字对象。
eg:在NSArray 数组中,保存的元素都是对象,而 int , float , double 等都是基本数据类型,是不可以在数组中存放的。这时,我们可以使用NSNumber 类将基本数据类型的数字转为数字对象。
<一>.初始化
// 直接初始化
NSNumber *number1 = @12;
// 整数类型数字对象
NSNumber *intNumber = [NSNumber numberWithInt:12];
// 单精度类型数字对象
NSNumber *floatNumber = [NSNumber numberWithFloat:3.14];
// 双精度类型数字对象
NSNumber *doubleNumber = [NSNumber numberWithDouble:256.284];
// bool类型数字对象
NSNumber *boolNumber = [NSNumber numberWithBool:YES];
<二>.数字对象类型转换为基本数据类型
// NSNumber转成int类型
int a = [intNumber intValue];
// NSNumber转成float类型
float b = [floatNumber floatValue];
// NSNumber转成double类型
double c = [doubleNumber doubleValue];
// NSNumber转成bool类型
BOOL d = [boolNumber boolValue];
// NSNumber转成NSString类型
NSString *str = [@123 stringValue];
NSString *str1 = intNumber.stringValue;