NSNumber是OC中一系列数据类型,可以创建int对象,double,char等类型的对象。
可以将基本数据类型转换为NSNumber类型的。
-
-
- NSNumber *intNumber=[[NSNumber alloc]initWithInt:1];
- NSNumber *charNumber=[[NSNumber alloc]initWithChar:'C'];
- NSNumber *floatNumber=[[NSNumber alloc]initWithFloat:4.0f];
- NSNumber *doubleNumber=[[NSNumber alloc]initWithDouble:23.34];
将这些对象都可以放入到数组中,OC中得数组可以存放任何类型的对象
- NSArray *arr=[[NSArray alloc]initWithObjects:intNumber,charNumber,floatNumber,doubleNumber, nil nil];
NSNumber对象大小比较方法一:
- BOOL ret=[intNumber isEqualToNumber:intNumber1];
NSNumber对象大小比较方法二:
-
-
- NSComparisonResult result=[intNumber1 compare:intNumber];
- if (result==NSOrderedAscending) {
- NSLog(@"<");
- }else if (result==NSOrderedSame){
- NSLog(@"=");
- }else if(result==NSOrderedDescending){
- NSLog(@">");
- }
那么如何将NSNumber对象的值转换为基本数据类型呢?
- int a =[intNumber intValue];
- NSLog(@"%d",a);
- float f=[floatNumber floatValue];
- double d=[doubleNumber doubleValue];
- char c=[charNumber charValue];
各种数据类型的输出:
-
-
-
-
- NSLog(@"int is %d,double is %lf,float is %f,char is %c",a,d,f,c);