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];//比較大小
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章