美文网首页
OC语言day08-11NSNumber

OC语言day08-11NSNumber

作者: liyuhong165 | 来源:发表于2016-07-31 22:40 被阅读24次

    pragma mark NSNumber

    pragma mark 概念

    /**
     1.将基本数据类型 转换成 对象类型
     numberWithInt:
     numberWithDouble:
     ......
     
     2. 将 对象类型 转换成 基本数据类型
     intValue
     doubleValue
     ....
     
     3. 基本数据类型 转成 对象类型简写
     NSNumber *ageN1 = @(age);
    
     */
    

    pragma mark 代码

    #import <Foundation/Foundation.h>
    #pragma mark 类
    
    #pragma mark main函数
    int main(int argc, const char * argv[])
    {
    #pragma NSNumber
    
    // 将一个基本数据类型放到 数组中
    #warning 1.需要 将基本数据类型 转换成 对象类型
        int age = 10;
        double number = 5.20;
        int vlaue = 5;
        
        //
        NSNumber *ageN = [NSNumber numberWithInt:age];
        NSNumber*nbmN = [NSNumber numberWithDouble:number];
        NSNumber *vlaueN = [NSNumber numberWithInt:vlaue];
        
        NSArray *arr = @[ageN,nbmN,vlaueN];
        NSLog(@"arr = %@",arr);
        
    #warning 2. 将 对象类型 转换成 基本数据类型
    //    [arr enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
    //        NSLog(@"obj[%lu] = %@",idx,obj);
    //    }];
        
        int temp = [ageN intValue];
        NSLog(@"temp %d",temp);
        double temp2 = [nbmN doubleValue];
        NSLog(@"temp2 %.2f",temp2);
        
    #warning  3. 基本数据类型 转成 对象类型简写
        // 注意: 如果传入的是变量 那么必须在 @ 后面写上(),如果传入的常量,  那么@后面的()可以省略
        NSNumber *ageN1 = @(age);
    //    NSNumber *nmbN1 = @number;    // 变量 必须加()
        NSNumber *nmbN1 = @10;          // 常量 可以省略 ()
        NSLog(@"ageN1 %@",ageN1);
        
        return 0;
    }
    
    
    

    相关文章

      网友评论

          本文标题:OC语言day08-11NSNumber

          本文链接:https://www.haomeiwen.com/subject/smlxsttx.html