Objective-C是一门面向对象的编程语言,当我们想要使用数字的时候就可以使用它所提供的数字对象NSNumber。下面将阐述一些NSNumber的基本用法。
1.整型对象
在数字对象中,最为简单的就是整型对象。根据数值的范围不同可以分为以下几种:短整型、无符号短整型、整型、无符号整型、长整型、无符号长整型、长长整型以及无符号长长整型。下面将介绍利用NSNumber对象来创建、初始化这几种整型对象。
- 创建短整型数字对象
+(NSNumber *)numberWithShort:(short)value;
该方法创建一个赋了初值的短整型数字对象,参数value为短整型数字对象的数值,返回值为NSNumber对象,范围为(-32768~32767)。
- 创建无符号短整型数字对象
+(NSNumber *)numberWithUnsingedShort:(unsinged short)value;
该方法创建一个赋了初值的无符号短整型数字对象,参数value为无符号短整型数字对象的数值,返回值为NSNumber对象,范围为(0~65535)。
- 创建整型数字对象
+(NSNumber *)numberWithInteger:(NSInteger)value;
该方法创建一个赋了初值的整型数字对象,参数value为整型数字对象的数值,返回值为NSNumber对象,范围为(-2147483648~2147483647)。
······· 下面的以此类推不再赘述
初始化方法
- initWithShort:
- (id)initWithShort:(short)value;
该方法创建一个短整型数字对象,参数value为短整型数字对象的数值。
无符号短整型不再赘述。
- initWithInteger:
- (id)initWithInteger:(NSInteger)value;
该方法创建一个整型数字对象,参数value为整型数字对象的数值。
无符号整型不再赘述。
- initWithInt:
- (id)initWithInt:(int)value;
该方法创建一个整型数字对象,参数value为整型数字对象的数值。
无符号整型不再赘述。
- initWithLong:
- (id)initWithLong:(long)value;
该方法创建一个长整型数字对象,参数value为长整型数字对象的数值。
无符号长整型不再赘述。
- initWithLongLong:
- (id)initWithLongLong:(long long)value;
该方法创建一个长长整型数字对象,参数value为长长整型数字对象的数值。
无符号长长整型不再赘述。
- shortValue:
- (short)shortValue;
该方法取一个短整型数字对象的值。
无符号短整型不再赘述。
- integerValue:
- (NSInteger)integerValue;
该方法取一个整型数字对象的值。
无符号整型不再赘述。
- intValue:
- (int)intValue;
该方法取一个整型数字对象的值。
无符号整型不再赘述。
- longValue:
- (long)longValue;
该方法取一个长整型数字对象的值。
无符号长整型不再赘述。
- longlongValue:
- (long long)longlongValue;
该方法取一个长长整型数字对象的值。
无符号长长整型不再赘述。
2. 字符对象
- numberWithChar:
+ (NSNumber *)numberWithChar:(char)value;
该方法创建并初始化一个字符型数字对象。
无符号字符型不再赘述。
- initWithChar:
- (id)initWithChar:(char)value;
该方法创建一个数字对象并初始化成字符型数字对象。
无符号字符型不再赘述。
- charValue:
- (char)charValue;
该方法取得一个字符型数字对象的值。
无符号字符型不再赘述。
* 创建单精度,双精度,布尔类型同上述方法,此处不再赘述 *
3. 数字对象通用方法
- isEqualToNumber:
- (BOOL)isEqualToNumber:(NSNumber *)number;
该方法用于比较两个数字型对象值是否相等。
- compare:
- (NSComparisonResult)compare:(NSNumber *)otherNumber;
该方法用于比较两个数字型对象值的大小,若返回NSOrderedSame则两值相等,若返回NSOrderedAscending则左值小于右值,若返回NSOrderedDecending则左值大于右值。