NSNumber创建方法

在C语言中有基本数据类型, 在OC语言上也有基本数据类型, 但OC和C的基本数据类型不太一样, 在OC上它把基本数据类型全部都包含在一个类里面, 这个我们可以称为类簇, 也可以叫基本数据类型集合(NSNumber).

由于OC是面向对象的, 所以它所有的东西都要有一个对象, 而NSNumber这个类簇就刚好可以解决基本数据类型的问题.

涉及到的方法:

initWithInt: 初始化int基本数据类型的对象.

initWithFloat: 初始化float基本数据类型对象, 注意(float类型的写法要在浮点数后面加上一个f或者F).

initWithDouble: 初始化都double基本数据类型对象.

initWithChar: 初始化char基本数据类型对象.

intValue: 还原int基本数据类型的数据.

floatValue: 还原float基本数据类型的数据.

doubleValue: 还原double基本数据类型的数据.

charValue: 还原char基本数据类型的数据.

下面我们来看看例子:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //创建NSNumber的基本数据类型对象
        NSNumber *intNumber = [[NSNumber alloc]initWithInt:51];
        NSNumber *folatNumber = [[NSNumber alloc]initWithFloat:3.14f];
        NSNumber *doubleNumber = [[NSNumber alloc]initWithDouble:6.28];
        NSNumber *charNumber = [[NSNumber alloc]initWithChar:'A'];
        
        //通过下面的方法, 我们可以还原基本数据类型的数据.
        NSLog(@"%d", [intNumber intValue]);
        NSLog(@"%f", [folatNumber floatValue]);
        NSLog(@"%f", [doubleNumber doubleValue]);
        NSLog(@"%c", [charNumber charValue]);
        
        [intNumber release];
        [folatNumber release];
        [doubleNumber release];

    }
    return 0;
}

输出来的结果:

2014-10-13 21:41:51.593 NSNumber[6872:303] 51
2014-10-13 21:41:51.595 NSNumber[6872:303] 3.140000
2014-10-13 21:41:51.595 NSNumber[6872:303] 6.280000
2014-10-13 21:41:51.595 NSNumber[6872:303] A
Program ended with exit code: 0
原文地址:https://www.cnblogs.com/iOSCain/p/4023158.html