Foundation框架篇之NSNumber
一、整型对象
1、numberWithShort 方法: 创建短整型数字对象
+ (NSNumber *) numberWithShort:(short) value;
2、numberWithInt:方法:创建整型数字对象
+(NSNumber *) numberWithInt:(int)value;
3、numberWithLong 方法:创建并初始化长整型数字对象
+(NSNumber *) numberWithLong:(long)value;
DEMO1:
#import <Foundation/Foundation.h>
int main(int argc,const char *argv[])
{
@autoreleasepool {
//创建并初始化整型数字对象
NSNumber *nu=[NSNumber numberWithInt:600];
NSLog(@"%i",[nu intValue]); //取值
}
return 0;
}
二、字符型对象
1、numberWithChar 方法:创建并初始化字符型数字对象
+ (NSNumber *)numberWithChar:(char)value;
2、initWithChar 方法:初始化字符型对象: 创建一个数字对象并将数字对象初始化为字符串型
- (id)initWithChar:(char)value;
Demo2:
#import <Foundation/Foundation.h>
int main(int argc,const char *argv[])
{
@autoreleasepool {
//创建并初始化字符型数字对象
NSNumber *ch=[NSNumber numberWithChar:'H'];
NSLog(@"%i",[ch charValue]); //取值
}
return 0;
}
三、单精度型对象
1、numberWithFloat 方法:创建并初始化单精度型数字对象
+ (NSNumber *)numberWithFloat:(flaot)value;
2、initWithFloat 方法:初始化单精度型数字对象
- (id)initWithFloat 方法:初始化单精度型数字对象
3、floatValue 方法:取单精度型数字对象的值
- (float)floatValue;
Demo3:
#import <Foundation/Foundation.h>
int main(int argc,const char *argv[])
{
@autoreleasepool {
//创建并初始化单精度型数字对象
NSNumber *fo=[NSNumber numberWithFloat:3.000];
NSLog(@"%f",[fo floatValue]); //取值
}
return 0;
}
四、双精度型对象
1、numberWithDouble 方法:创建并初始化一个双精度型数字对象
+ (NSNumber *)numberWithDouble:(double)value;
2、initWithDouble 方法: 初始化双精度型数字对象
- (id)initWithDouble:(double)value;
3、doubleVlue 方法:取双精度型数字对象的值
- (double)doubleValue;
Demo4:
#import <Foundation/Foundation.h>
int main(int argc,const char *argv[])
{
@autoreleasepool {
//创建并初始化双精度型数字对象
NSNumber *du=[NSNumber numberWithDouble:112233e+16];
NSLog(@"%f",[du doubleValue]); //取值
}
return 0;
}
五、布尔型对象
1、numberWithBool 方法:创建并初始化布尔型数字对象 备注:该方法返回值类型是NSNumber对象。数字范围为0 和1
+ (NSNumber *)numberWithBool:(BOOL) value;
2 、 initWithBool 方法:初始化布尔类型对象
- (id) initWithBool:(BOOL)value;
3、boolValue 方法:取布尔类型数字对象的值
- (BOOL) boolValue;
Demo5:
#import <Foundation/Foundation.h>
int main(int argc,const char *argv[])
{
@autoreleasepool {
//创建并初始化布尔型数字对象
NSNumber *bo=[NSNumber numberWithBool:0];
NSLog(@"%i",[bo boolValue]); //取值
NSNumber *bo1=[NSNumber numberWithBool:2.5];
NSLog(@"%i",[bo1 boolValue]); //取值
}
return 0;
}
A、数字对象通用方法:
1、isEqualToNumber 方法:比较两对象值是否相等
- (BOOL)isEqualToNumber:(NSNumber *)number
该方法返回值类型是布尔型。当比较结果为YES或者为1 时,说明两对象值相等;当比较的结果为NO或者为0时,说明两对象值不相等。
Demo6:
#import <Foundation/Foundation.h>
int main(int argc,const char *argv[])
{
@autoreleasepool {
NSNumber *a=[NSNumber numberWithInt:10];
NSNumber *b=[NSNumber numberWithInt:-10];
if([a isEqualToNumber:b]==1){
NSLog(@"相等");
}else{
NSLog(@"不相等")
}
}
return 0;
}