NSInteger:long 类型
NSUInteger:unsigned long 类型
NSValue
NSNumber
#import
<Foundation/Foundation.h>
int
main(
int
argc ,
char
* argv[])
{
@autoreleasepool {
// 调用类方法将 int 类型的值包装成 NSNumber 对象
NSNumber * num = [[ NSNumber alloc ] initWithInt : 28 ];
NSLog ( @"%@" , [num class ]);
// 调用类方法将 double 类型的值包装成 NSNumber 对象
NSNumber * de = [ NSNumber numberWithDouble : 3.14 ];
NSLog ( @"%d" , [num intValue ]);
NSLog ( @"%g" , [de doubleValue ]);
// 先创建 NSNumber 对象,再调用 initWithXxx 方法执行初始化
{
@autoreleasepool {
// 调用类方法将 int 类型的值包装成 NSNumber 对象
NSNumber * num = [[ NSNumber alloc ] initWithInt : 28 ];
NSLog ( @"%@" , [num class ]);
// 调用类方法将 double 类型的值包装成 NSNumber 对象
NSNumber * de = [ NSNumber numberWithDouble : 3.14 ];
NSLog ( @"%d" , [num intValue ]);
NSLog ( @"%g" , [de doubleValue ]);
// 先创建 NSNumber 对象,再调用 initWithXxx 方法执行初始化
NSNumber* ch = [[NSNumber alloc] initWithChar:'b'];
NSLog
(
@"%@"
,[ch
class
]);
// 直接输出 NSNumber 对象,使用 %@ 格式字符串
NSLog ( @"%@" , ch);
// 直接输出 NSNumber 对象,使用 %@ 格式字符串
NSLog ( @"%@" , ch);
NSInteger m = 10 ;//相当于long 类型
NSLog
(
@"%li"
,m);
}
}
}
输出:
2014-11-28 18:13:15.872 NumberTest[2024:303] __NSCFNumber
2014-11-28 18:13:15.874 NumberTest[2024:303] 28
2014-11-28 18:13:15.875 NumberTest[2024:303] 3.14
2014-11-28 18:13:15.876 NumberTest[2024:303] __NSCFNumber
2014-11-28 18:13:15.876 NumberTest[2024:303] 98
2014-11-28 18:13:15.877 NumberTest[2024:303] 10
2014-11-28 18:13:15.874 NumberTest[2024:303] 28
2014-11-28 18:13:15.875 NumberTest[2024:303] 3.14
2014-11-28 18:13:15.876 NumberTest[2024:303] __NSCFNumber
2014-11-28 18:13:15.876 NumberTest[2024:303] 98
2014-11-28 18:13:15.877 NumberTest[2024:303] 10