OC中各种数据类型(一)

本文详细介绍了如何在Objective-C中使用NSNumber将基本数据类型转换为对象,并演示了如何从NSNumber转换回基本数据类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NSNumber

基本数据类型无法用于字典,数组,集合;所以,要使用的话,我们要把基本数据类型分装成对象,oc中用NSNumber转换来解决这个问题。

基本数据类型封装成NSNumber对象

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        int age = 12;
        
        //将一个int类型的转换成NSNumber类型的
        NSNumber *num1 = [NSNumber numberWithInt:age];
        //将一个float类型的转换成NSNumber类型的
        NSNumber *num2 = [NSNumber numberWithFloat:10.5];
        //将一个double类型的转换成NSNumber类型的
        NSNumber *num3 = [NSNumber numberWithDouble:3.141592653];
        //将一个char类型的转换成NSNumber类型的
        NSNumber *num4 = [NSNumber numberWithChar:'a'];
        //将一个long类型的转换成NSNumber类型的
        NSNumber *num5 = [NSNumber numberWithLong:12121211212];
        
        //......后续类型省略掉,实际出发^_^
        
        NSLog(@"%@\t%@\t%@\t%@\t%@", num1, num2, num3, num4,num5);
        

    }
    return 0;
}



NSNumber转成基本数据类型

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        int age = 12;
        
        //将一个NSNumber类型的转换回int类型的
        NSNumber *num1 = [NSNumber numberWithInt:age];
        int _age = [num1 intValue];

        //将一个NSNumber类型的转换回float类型的
        NSNumber *num2 = [NSNumber numberWithFloat:10.5];
        float _num2 = [num2 floatValue];
        
        //将一个NSNumber类型的转换回double类型的
        NSNumber *num3 = [NSNumber numberWithDouble:3.141592653];
        double _num3 = [num3 doubleValue];
        
        //将一个NSNumber类型的转换回char类型的
        NSNumber *num4 = [NSNumber numberWithChar:'a'];
        char _num4 = [num4 charValue];
        
        //将一个NSNumber类型的转换回long类型的
        NSNumber *num5 = [NSNumber numberWithLong:12121211212];
        long _num5 = [num5 longValue];
        
        //......后续类型省略掉,实际出发^_^
        
        NSLog(@"%d\t%.2f\t%.12f\t%c\t%ld", _age, _num2, _num3, _num4,_num5);
        

    }
    return 0;
}





转载于:https://my.oschina.net/LBBB/blog/649167

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值