您的位置:首页 > 移动开发 > Objective-C

Objective-C学习- 数字对象 NSNumber

2015-08-04 15:12 441 查看
对于Objective-C 的数组 NSArray 只能存对象,不能存取基本数据类型,如 整型int 、浮点型float、 双精度浮点型double、 字符型char,但Objective-C为了能够将基本数据类型存到数组,有一个类型叫做NSNumber 的类型,叫做数字对象。(有些字词用的不是很准确,待找到合适的词定会修改过来)
用法如下:

  // 将
整型int 转换成 NSNumber
类型
   NSNumber * number_int = [[NSNumber
alloc] initWithInt:65];

// 将
字符型char 转换成 NSNumber
类型
   NSNumber * number_char = [[NSNumber
alloc] initWithChar:'A'];

//将
浮点型float 转换成 NSNumber
类型
   NSNumber * number_float = [[NSNumber
alloc] initWithFloat:2.0f];

//将
双精度浮点型double 转换成 NSNumber
类型
  NSNumber * number_double = [[NSNumber
alloc] initWithDouble:5.6];

//初学者想要通过键盘输入来赋值,其实原理是一样的,例如:将浮点类型c转换成 NSNumber
类型
   char c
;
  scanf("%c",&c);
   NSNumber * number_free = [[NSNumber
alloc] initWithChar:c];

//将 NSNumber类型
转换成 整型int
   int iNumber = [number_int
intValue];

//将 NSNumber类型
转换成 字符型char
  char cNumber = [number_char
charValue];

//将 NSNumber类型
转换成 浮点型float
  float fNumber = [number_float
floatValue];

//将 NSNumber类型
转换成 双精度浮点类型
   double dNumber = [number_double
doubleValue];

/*
[number isEqualToNumber:(NSNumber *)]
函数是比较两个 NSNumber类型的方法
BOOL 类型的返回值
只有两种 一是YES(也就是1)
二是NO(也就是0)
'A' 的ASCALL
码是 65
number_int对象的值就是65
number_char对象的值是‘A’,相比较是相等的,因为‘A’就是65
*/
BOOL isSame = [number_int
isEqualToNumber:number_char];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: