OC语言 - NSNumber

NSNumber

1 - 在 OC 中有 int 型,为什么还要使用数字对象 NSNumber ?这是因为很多类的使用都要求是对象型,比如数组、字典...... 我们使用 NSNumber 来创建和初始化不同类型的数字对象!常用 API 如下

 // 基本型转为对象型
 + (NSNumber *)numberWithFloat:(float)value;
 + (NSNumber *)numberWithDouble:(double)value;
 + (NSNumber *)numberWithBool:(BOOL)value;
 + (NSNumber *)numberWithInteger:(NSInteger)value
 + (NSNumber *)numberWithChar:(char)value;

2 - 代码示例:如何使用

 1     NSNumber *myNumber,*floatNumber,*intNumber;
 2 
 3     // 基本型转变成数字对象
 4     intNumber = [NSNumber numberWithInteger:123];
 5     // 数字对象转变成基本型
 6     NSLog(@"%ld",(long)[intNumber integerValue]);
 7 
 8     myNumber = [NSNumber numberWithChar:'K'];
 9     NSLog(@"%c",[myNumber charValue]);
10 
11     floatNumber = [NSNumber numberWithFloat:123.12];
12     NSLog(@"%f",[floatNumber floatValue]);
13 
14 
15     // 判断数字对象的值是否相等
16     if ([intNumber isEqualToNumber:floatNumber] == YES ) {
17         NSLog(@"相等");
18     }else {
19         NSLog(@"不相等");
20     }
21         return 0;
22     }

 

posted on 2018-09-10 20:08  低头捡石頭  阅读(39)  评论(0编辑  收藏  举报

导航