前言
@interface NSNumber : NSValue
@interface NSDecimalNumber : NSNumber
1、NSNumber 与 基本数据类型 的相互转换
// 基本数据类型 转 NSNumber
// 对象方法,将整形数据转换为 OC 对象
NSNumber *num1 = [[NSNumber alloc] initWithInt:123];
// 类方法, 将浮点型数据转换成 OC 对象
NSNumber *num2 = [NSNumber numberWithFloat:10.456];
// @ + 基本数据类型 直接创建
NSNumber *num3 = @234;
NSNumber *num4 = @0xabcdefL;
NSNumber *num5 = @'S';
NSNumber *num6 = @100.0f;
int a = 123;
float b = 200.0f;
// @ + 表达式 直接创建
NSNumber *num7 = @((a + b) / 2.0);
// NSNumber 转 基本数据类型
int n1 = [num1 intValue];
float n2 = [num2 floatValue];
NSInteger n3 = [num3 integerValue];
long n4 = [num4 longValue];
char n5 = [num5 charValue];
float n6 = [num6 floatValue];
float n7 = [num7 floatValue];
2、比较两个 NSNumber 类型数据的大小
NSNumber *num1 = [NSNumber numberWithFloat:123];
NSNumber *num2 = [NSNumber numberWithFloat:10.456];
// isEqualToNumber
BOOL bl = [num1 isEqualToNumber:num2];
// compare
NSComparisonResult result = [num1 compare:num2];
if (result == NSOrderedAscending)