Objective-C学习- 数字对象 NSNumber

  对于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 allocinitWithChar:'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];

转载于:https://www.cnblogs.com/Yue-Wen/p/4691285.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值