NSNumber和基本数据类型互相转换

NSInteger(typedef类型)

32位上等于int
64位上等于long

NSNumber:NSNumber数字类型的OC对象,所有OC基本数据类型都可以和他相互转换

NSInteger和NSNumber相互转换

NSNumber * integerNumber = [NSNumber numberWithInteger:100];
//NSInteger是typedef类型,32位机器是int,64位机器是long
NSInteger integerValue = [integerNumber integerValue];

int、short、long、long long和NSNumber相互转换

NSNumber * longlongNumber = [NSNumber numberWithLongLong:143892489];
long long longlongValue = [longlongNumber longlongValue];

float、double和NSNumber相互转换

NSNumber * floatNumber = [NSNumber numberWithFloat:5.5];
float floatValue = [floatNumber floatValue];

BOOL和NSNumber相互转换

NSNumber * boolNumber = [NSNumber numberWithBool:YES];
BOOL boolValue = [boolNumber boolValue];

@()快捷键初始化NSNumber数字类型

NSNumber * number1 = @(5);//这种比上面的初始化方式简单多了
NSNumber * number2 = @(YES);

比较

[number1 isEqualToNumber:number2];//是否相等
[number1 compare:number2];//比较大小
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章