加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

NS类 -  NSNumber 的使用

(2013-05-05 20:32:36)
标签:

nsnumber的使用

it

分类: Mac/IOS那些事
先看demo如何来用
    //创建一个封装成NSNumber对象类型
    NSNumber *num = [[NSNumberalloc]initWithInt:100];
    NSNumber *fnum = [[NSNumberalloc]initWithFloat:30.3];
    NSLog(@"int num :%@",num);
    NSLog(@"float num:%@",fnum);

    //还原成基本类型
    int intnum = [num intValue];
    float floatnum = [fnum floatValue];
    NSLog(@"int intnum :%d",intnum);

    NSLog(@"float floatnum:%f",floatnum);


   //直接是用类的方法
    NSNumber *nsnum = [NSNumbernumberWithDouble:3.3333f];

    NSLog(@"nsnum double:%@",nsnum);





NSNumber的SDk的内容也是主要有三部分  其他的都是判断数值大小和是否相等的。
   第一部分把nsnumber类型还原成基本类型
   第二部分是把基本类型封装成你说number对象类型
   第三部分是静态方法,直接使用


@interface NSNumber : NSValue
|--第一部分把nsnumber类型还原成基本类型
- (char)charValue;
- (unsignedchar)unsignedCharValue;
- (short)shortValue;
- (unsignedshort)unsignedShortValue;
- (int)intValue;
- (unsignedint)unsignedIntValue;
- (long)longValue;
- (unsignedlong)unsignedLongValue;
- (longlong)longLongValue;
- (unsignedlonglong)unsignedLongLongValue;
- (float)floatValue;
- (double)doubleValue;
- (BOOL)boolValue;
- (NSInteger)integerValue NS_AVAILABLE(10_5, 2_0);
- (NSUInteger)unsignedIntegerValue NS_AVAILABLE(10_5, 2_0);
 
- (NSString *)stringValue;      字符串化

- (NSComparisonResult)compare:(NSNumber *)otherNumber; 比较

- (BOOL)isEqualToNumber:(NSNumber *)number;     判断是否相等

- (NSString *)descriptionWithLocale:(id)locale;

@end

@interface NSNumber (NSNumberCreation)
|--第二部分是把基本类型封装成你说number对象类型
- (id)initWithChar:(char)value;
- (id)initWithUnsignedChar:(unsignedchar)value;
- (id)initWithShort:(short)value;
- (id)initWithUnsignedShort:(unsignedshort)value;
- (id)initWithInt:(int)value;
- (id)initWithUnsignedInt:(unsignedint)value;
- (id)initWithLong:(long)value;
- (id)initWithUnsignedLong:(unsignedlong)value;
- (id)initWithLongLong:(longlong)value;
- (id)initWithUnsignedLongLong:(unsignedlonglong)value;
- (id)initWithFloat:(float)value;
- (id)initWithDouble:(double)value;
- (id)initWithBool:(BOOL)value;
- (id)initWithInteger:(NSInteger)value NS_AVAILABLE(10_5, 2_0);
- (id)initWithUnsignedInteger:(NSUInteger)value NS_AVAILABLE(10_5, 2_0);
|--第三部分是静态方法,直接使用
+ (NSNumber *)numberWithChar:(char)value;
+ (NSNumber *)numberWithUnsignedChar:(unsignedchar)value;
+ (NSNumber *)numberWithShort:(short)value;
+ (NSNumber *)numberWithUnsignedShort:(unsignedshort)value;
+ (NSNumber *)numberWithInt:(int)value;
+ (NSNumber *)numberWithUnsignedInt:(unsignedint)value;
+ (NSNumber *)numberWithLong:(long)value;
+ (NSNumber *)numberWithUnsignedLong:(unsignedlong)value;
+ (NSNumber *)numberWithLongLong:(longlong)value;
+ (NSNumber *)numberWithUnsignedLongLong:(unsignedlonglong)value;
+ (NSNumber *)numberWithFloat:(float)value;
+ (NSNumber *)numberWithDouble:(double)value;
+ (NSNumber *)numberWithBool:(BOOL)value;
+ (NSNumber *)numberWithInteger:(NSInteger)value NS_AVAILABLE(10_5, 2_0);
+ (NSNumber *)numberWithUnsignedInteger:(NSUInteger)value NS_AVAILABLE(10_5, 2_0);

@end


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有